swap文件查看
建议 Swap 使用单独的分区:
- a swap file
- a combination of swap partitions and swap files.
Swap 大小的计算公式:
M 等于物理内存大小(GB),S 等于 Swap 大小(GB)
当物理内存小于 2 GB 的时候,Swap 等于物理内存的 2 倍。当物理内存大于 2 GB 的时候,Swap 等于物理内存 + 2 GB
If M < 2
S = M *2
Else
S = M + 2
查看总体的使用 Swap 的情况:
[root@localhost ~]# free m
total used free shared buffers cached
Mem: 1412236 603288 808948 0 37628 412636
-/+ buffers/cache: 153024 1259212
Swap: 2588624 0 2588624
free -m :查看内存情况,单位为MB。
total 内存总数
used 已经使用的内存数(我的程序使用内存数量+系统缓存使用的内数量)
free 空闲的物理内存数(是真正的空闲,未被任何程序占用)
shared 多个进程共享的内存总额
buffers 磁盘缓存(Buffer Cache)的大小(可提高系统I/O调用的性能)
cached 磁盘缓存(Page Cache)的大小(可提高系统I/O调用的性能)
-buffers/cache 表示已被我们的程序使用的内存数,计算方法:used - buffers - cached
+buffers/cache 表示还可已被我使用的内存数,计算方法:free + buffers + cached
操作系统目前可用内存总量=free + buffers + cached=808948+ 37628+ 412636=1259212(即buffer与Cache 可以无限接近0,全部被程序使用)
程序使用的总内存=153024= 603288 - 37628 -412636 (used=程序内存+buffer+cache)
buffers是用来给块设备做的缓冲大小、buffers是用来存储目录里面有什么内容,权限等等
cached用来给文件做缓冲,用来记忆我们打开的文件.
查看是哪个进程使用了 Swap:
使用 top
命令,然后再按 f
,再按 p
,(显示swap列)
即可显示哪个进程使用了多少 Swap 空间。然后要释放的话,把那个进程重起下即可。
查看 Swap 使用的哪个分区使用 /sbin/swapon -s
命令。
[root@localhost ~]# /sbin/swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2064344 0 -1
/swapfile1 file 524280 0 -2
部分转载于 http://elf8848.iteye.com/blog/1995638