一
1.查看进程使用swap情况
sudo -i # 打印进程号大于1000的swap信息 # for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >1000'` ;do awk '/Swap:/{a=a+$2}END{ print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr # 打印进程号大于1000,且不为0的swap信息 # for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >1000'` ;do awk '/Swap:/{a=a+$2}END{if (a>0) print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr 16482 1186.61M 14354 983.664M 18619 386.914M 9648 52.2891M
2.显示某个进程的swap信息
sudo awk '/^Swap:/ {SWAP+=$2}END{print SWAP" KB"}' /proc/14354/smaps
3.查看系统整个swap
$ free -g total used free shared buffers cached Mem: 125 32 93 0 0 7 -/+ buffers/cache: 24 101 Swap: 31 29 2
4.检查系统日志
$ sudo vmstat -S m 1
Swap:
- si: 每秒从交换区写到内存的大小
- so: 每秒写入交换区的内存大小
-------- ---cpu-usage--- ---swap--- -------------------------io-usage----------------------- -QPS- -TPS-------threads---------------- -----bytes---- -delay- time |usr sys idl iow| si so| r/s w/s rkB/s wkB/s queue await svctm %util| ins upd del sel iud| run con cre cac cos abs| recv send| delay| 02:50:24| 0 0 94 5| 4 2305| 1.1 22.9 4.4 575.0 0.0 0.2 0.0 0.1| 1 4 0 4 6| 4 154 0 48 3 0| 3k 15k| 0| 02:50:34| 0 0 93 6| 3 2541| 0.9 9.6 47.9 243.5 0.0 0.1 0.1 0.1| 0 2 0 6 2| 5 156 0 46 4 0| 3k 16k| 0| 02:50:45| 0 1 91 8| 25 25895| 1.2 22.6 10.7 615.2 0.0 0.2 0.0 0.1| 0 7 0 11 7| 4 154 0 48 7 0| 9k 32k| 0| 02:50:55| 0 1 97 2| 1 8243| 0.1 13.5 0.4 331.6 0.0 0.0 0.0 0.0| 0 0 0 4 0| 4 154 0 48 4 0| 2k 11k| 0| 02:51:05| 1 1 99 0| 7 0| 1.0 21.9 4.0 546.2 0.0 0.0 0.0 0.1| 3 3 0 5 7| 4 154 0 48 5 0| 5k 21k| 0| 02:51:15| 1 0 99 0| 9 0| 0.6 1.2 2.4 76.4 0.0 0.1 0.1 0.0| 1 1 0 5 3| 4 153 0 49 4 0| 3k 21k| 0| 02:51:25| 0 0 99 0| 0 0| 0.1 10.0 0.4 246.2 0.0 0.2 0.0 0.0| 0 0 0 4 0| 4 154 0 48 4 0| 2k 12k| 0| 02:51:35| 0 0 99 0| 1 0| 0.0 5.7 0.0 90.8 0.0 0.0 0.0 0.0| 0 0 0 4 0| 4 154 0 48 3 0| 2k 13k| 0| 02:51:45| 2 1 97 0| 2 0| 0.0 0.8 0.0 56.4 0.0 0.0 0.0 0.0| 0 0 0 10 0| 4 153 0 49 6 0| 5k 20k| 0| 02:51:55| 0 0 96 3| 0 0| 0.0 0.7 0.0 31.2 0.0 0.1 0.1 0.0| 0 0 0 7 0| 4 154 0 48 4 0| 3k 12k| 0| 02:52:05| 0 1 96 3| 0 1171| 0.8 11.5 3.2 284.4 0.0 0.0 0.1 0.1| 3 0 0 6 3| 4 156 0 46 5 0| 5k 25k| 0| 02:52:15| 0 0 98 1| 27 2381| 0.3 18.7 1.2 461.5 0.0 0.1 0.0 0.0| 0 0 0 5 0| 5 156 0 46 4 0| 5k 21k| 0| 02:52:25| 0 0 95 4| 1 206| 0.2 1.2 0.8 34.9 0.0 0.1 0.1 0.0| 0 0 0 4 0| 6 159 0 43 3 0| 2k 12k| 0| 02:52:36| 0 0 95 4| 0 1943| 0.0 5.2 0.0 109.2 0.0 0.0 0.0 0.0| 0 0 0 3 0| 4 157 0 45 3 0| 1k 13k| 0| 02:52:46| 0 1 95 4| 17 3919| 0.3 2.4 2.4 44.1 0.0 0.0 0.0 0.0| 0 0 0 7 0| 4 156 0 46 5 0| 6k 21k| 0|
二 两种临时修改swappiness参数的方法,系统重启后失效
方法1:
# more /proc/sys/vm/swappiness
60
# echo 10 > /proc/sys/vm/swappiness
# more /proc/sys/vm/swappiness
10
方法2
[root@DB-Server ~]#sysctl vm.swappiness=10
永久修改swappiness参数的方法就是在配置文件/etc/sysctl.conf里面修改vm.swappiness的值,然后重启系统
echo 'vm.swappiness=10' >>/etc/sysctl.conf
三 检查是否用了numa
$ sudo numactl -H
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 65507 MB
node 0 free: 44343 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 65536 MB
node 1 free: 51614 MB
node distances:
node 0 1
0: 10 20
1: 20 10
浙公网安备 33010602011771号