启动内存交换区swap

配置swap之前,通过 free 和 df 查看 swap 和 磁盘空间情况,目的是通过配置swap后比较变化。

1、新建一个专门的文件用于swap分区
mkdir /developer/
cd /developer/
 dd if=/dev/zero of=swap_file bs=1M count=2048

注:此文件的大小是count的大小乘以bs大小,上面命令的大小是2GB

2、通过mkswap命令将上面新建出的文件做成swap分区并激活
mkswap /developer/swap_file
3、设置开机自动启动
vim /etc/fstab
/developer/swap_file swap swap defaults 0 0
4、启用此交换分区的交换功能
swapon /developer/swap_file

注意:

1、千万不要开启大于实际内存几倍的swap分区。
2、SWAP分区内的数据内存频繁进行交换会导致CPU过高。mysql数据库在同一时刻点大量SQL扫描同一张表,虽然有索引,但还是触发大量数据加载到内存,并且期间还有vacuum操作,导致系统缓存不足,系统频繁进行数据交换。
3、SWAP开启后导致部分CPU性能损失, 单核服务器不建议开启, 因为会导致kswapd0进程的使用。

kswapd0进程的作用:它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,如果不紧张,则睡眠,在 kswapd 中,有2 个阀值,pages_hige 和 pages_low,当空闲内存页的数量低于 pages_low 的时候,kswapd进程就会扫描内存并且每次释放出32 个free pages,直到 free page 的数量到达pages_high。通过阻止kswapd0进程过渡活跃地消耗CPU的方法是设置大页内存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录磁盘结构磁盘分区磁盘分区管理文件系统管理挂载 一、磁盘结构 (一)设备文件 设备文件:linux系统下一切皆文...
    哈喽别样阅读 1,022评论 0 0
  • 一,一般情况下swap分区管理 1,在磁盘上创建swap分区 使用fdisk工具fdisk /dev/sdb 在f...
    千幻流光阅读 705评论 0 0
  • 如何让服务器响应更快?如何避免应用出现内存不足的错误?最简单的方法就是增加交换空间。Swap是存储盘上的一块自留地...
    加勒比兔Z阅读 2,962评论 0 0
  • 磁盘及文件系统 硬盘的物理构成: 扇区(sector)、磁道(track)、磁头、柱面(cylinder) 分...
    崔千易阅读 720评论 0 0
  • 不得不承认,随着信息碎片化时代的到来 大部分人的注意力大不如以前,就像你第一眼看到别人时,若对方长得一般般,一般是...
    酸爽文人阅读 37评论 0 0