Linux管理员必看:掌握Linux检查Swap交换空间的四个命令是什么
作为一名Linux系统管理员,掌握Linux操作系统的各种监控、调优工具是非常必要的。在系统调优中,Swap交换空间也是非常重要的一项。Swap空间指的是硬盘上的一部分空间被作为虚拟内存使用,当内存不足时,将一部分内存数据保存到Swap分区中,以供后续重载时使用。本文将介绍Linux下检查Swap交换空间的四个常用命令。
一、free命令
free命令可以显示当前系统占用的内存以及Swap空间的使用情况。使用free命令无需安装任何软件包,它随着系统自带。
1. 查看当前系统占用的内存和Swap空间:
“`
$ free -h
total used free shared buff/cache available
Mem: 7.7G 5.5G 224M 2.5G 1.9G 319M
Swap: 7.9G 2.7G 5.2G
“`
上述命令输出的结果有几个值需要解释:
– total:表示总内存和Swap空间的大小。
– used:表示已经被使用的内存和Swap空间的大小。
– free:表示可用的内存和Swap空间的大小。
– shared:共享内存的大小。
– buff/cache:系统缓存的大小。
– available:可使用的空间大小,这个值经常被监控工具使用。
2. 查看Swap分区的详细信息
“`
$ cat /proc/swaps
“`
这个命令会显示所有Swap分区的详细信息,例如设备名称、类型、大小、使用量、优先级等等。
二、swapon命令
swapon命令用于打开Swap分区,并将其设置为活动状态。如果没有Swap分区,则可以使用这个命令创建一个Swap文件。
1. 查看当前已经激活的Swap分区
“`
$ swapon -s
Filename Type Size Used Priority
/dev/mapper/centos-swap partition 2047996 397204 -1
“`
2. 通过/dev/sdb1分区创建Swap分区
“`
$ mkswap /dev/sdb1
$ swapon /dev/sdb1
“`
三、Swap使用情况查询命令:smem和pmap
1. smem命令
smem命令可以显示系统中所有进程使用的内存占用情况,同时它也可以用来统计Swap分区的使用情况。
“`
$ smem -s swap
Swap PSS USS RSS
2.1G 1.8G 107.9M 107.9M
“`
上述命令输出的结果表示系统当前占用了2.1GB的Swap分区空间,其中PSS表示“proportional set size”,即按比例分配内存大小,USS表示“unique set size”,即一个进程最小内存尺寸,RSS表示“resident set size”,即驻留内存大小。
2. pmap命令
pmap命令可以显示指定进程使用的内存占用情况,包括使用的Swap空间和对应的地址范围。
“`
$ pmap -x 23456
23456: /usr/bin/java -Xms1024m -Xmx1024m
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 388 204 0 r-x– java
0000000000c5a000 16 12 4 rw— java
0000000000c5e000 4444 3704 16 rw— [ anon ]
…
total kB 2040108 1041280 8016
“`
上述命令输出的结果中,Dirty表示脏页数,RSS表示驻留内存大小,而如果看到Swap,则说明这个进程正在使用Swap分区。
四、vmstat命令
vmstat命令可以用来查看系统的虚拟内存状态,包括交换空间的使用情况。
“`
$ vmstat -s -SM
8181 MB total memory: 5246 MB used
1639 MB swap space: 619 MB used
4396 MB free memory 409 MB cache memory
4954717 pages ins, 2136661 pages outs
“`
上述命令输出的结果可以看到,当前系统总内存大小为8181MB,已被使用5246MB。Swap空间大小为1639MB,已经被使用619MB,可用Swap空间是1020MB,系统上的空闲内存是4396MB,系统缓存了409MB的数据。
总结
本文介绍了Linux管理员必须掌握的四个命令来检查Swap交换空间的使用情况。了解这些命令的使用方法,可以有效的协助管理员监控系统的Swap空间的使用情况,以及进行相应的调优工作。