内存及swap要求

本文介绍了如何在Linux系统中检查、添加、启动交换分区,包括通过dd命令创建swap文件,mkswap格式化,swapon启用,以及如何在系统启动时自动启用swap,并调整swappiness参数来优化内存使用。

转:https://blog.youkuaiyun.com/whatday/article/details/51024571

1.  检查当前的swap分区情况

  • # free –m
  • Swap:            0          0          0表示分区大小为0

2.  增加交换分区文件及大小

如上,当前swap分区的大小为0,假如需要增加1024M的大小。

判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。

# dd if=/dev/zero of=/home/swap bs=1M count=1024

1024000+0 records in
  1024000+0 records out

格式化交换文件,将swap文件格式化成s文件系统,系统才能使用

# mkswap  /home/swap
  Setting up swapspace version 1, size = 1023996 KiB

 

3.  启动交换分区文件

假如想立即启用交换分区文件,请执行:

# swapon  /home/swap

要停止使用新创建的swap文件,只要执行 swapoff/home/swap命令即可.

检验增加后的swap分区大小

# free  -m

              total       used       free     shared    buffers     cached
  Mem:          1006        994         12          0          4        929
  -/+ buffers/cache:         60        946
  Swap:          999          0        999

 

4.  如希望在系统再次启动时,自动启用刚增加的swap,可编辑/etc/fstab文件:

# vi  /etc/fstab,增加如下行

/home/swap             swap          swap    defaults        0 0  

 

5.修改linux swap空间的swappiness,降低对硬盘的缓存

linux 会使用硬盘的一部分做为SWAP分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(active)’,睡眠的进程就躺到SWAP分区睡大觉,把内存空出来让给‘活动’的进程。
如果内存够大,应当告诉 linux 不必太多的使用 SWAP 分区, 可以通过修改 swappiness 的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。在ubuntu 里面,默认设置swappiness这个值等于60。
  
!!!! 如果内存较小,而进程调度频繁,硬盘的响动就会大了 !!!!
  
现在一般1个G的内存可修改为10, 2个G的可改为5, 甚至是0。具体这样做:


1.查看你的系统里面的swappiness
$ cat /proc/sys/vm/swappiness
不出意外的话,你应该看到是 60


2.修改swappiness值为10
$ sudo sysctl vm.swappiness=10


但是这只是临时性的修改,在你重启系统后会恢复默认的60,为长治久安,还要更进一步:
$ sudo vi /etc/sysctl.conf
在这个文档的最后加上这样一行:
vm.swappiness=10
然后保存,重启。ok,你的设置就生效了。

### Swap 概述 在 Linux 系统中,Swap 即交换空间,是磁盘上的一块区域,作为对物理内存的扩展。当物理内存(RAM)不足时,系统会将一些不常用的内存页面交换到 Swap 空间中,以释放物理内存供其他程序使用。 ### Swap 的作用 当物理内存Swap 都耗尽时,系统会采用“内存回收”算法尝试释放内存。算法主要包括页面置换和杀死进程两个步骤。页面置换是指操作系统根据页面的使用频率和最近使用时间,选择不常用的页面交换到 Swap 空间,释放物理内存;若页面置换无法释放足够内存,系统会根据进程优先级和资源占用情况,杀死一些不重要的进程来释放内存[^1]。 ### 查看 Swap 使用情况 可以使用`free`命令查看 Swap 使用情况,如`free -m`以兆字节为单位显示内存Swap 使用情况,示例如下: ```bash $ free -m total used free shared buff/cache available Mem: 7822 321 3243 377 4257 6795 Swap: 4096 0 4096 ``` 其中`Swap`行的`total`表示 Swap 总大小,`used`表示已使用的 Swap 大小,`free`表示空闲的 Swap 大小。 ### 启用和禁用 Swap 禁用 Swap 可以使用`sudo swapoff -a`命令,若要查看详细用法可使用`swapoff --help`。启用 Swap 则使用`sudo swapon -a`命令。 ### 调整 Swap 大小 在 Ubuntu 系统中,调整 Swap 大小可先找到 Swap 文件位置,使用`cat /proc/swaps`命令查看[^2]。 ### Swap 相关参数 `swappiness`是一个内核参数,取值范围为 0 - 100,用于控制系统使用 Swap 的倾向程度。值为 0 时,系统尽量不使用 Swap;值为 100 时,系统会积极使用 Swap。可以通过以下命令临时修改`swappiness`值: ```bash sudo sysctl vm.swappiness=10 ``` 若要永久修改,可编辑`/etc/sysctl.conf`文件,添加或修改`vm.swappiness = 10`这一行,然后执行`sudo sysctl -p`使配置生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值