Linux进程细节与Swap和内存Usae的关系

问题描述 投票:0回答:1

我正在用这个脚本检查sqpctl进程的swap。

for file in /proc/*/status ; do awk '/VmSwap|Name|Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 5 -n -r | grep sqpctl

如何得到上面的输出结果和正确的进程细节?我的意思是,上面的脚本给我的输出是这样的,而当我运行下面的脚本时,我得到的是由sqpctl进程产生的准确的进程细节。

[20:00:49][root][~]$ for file in /proc/*/status ; do awk '/VmSwap|Name|Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 5 -n -r | grep sqpctl
sqpctl 11691 8979 0 25092 kB
sqpctl 11878 8979 0 24784 kB
sqpctl 12144 8979 0 20180 kB
sqpctl 11351 8979 0 20084 kB
sqpctl 8976 1 0 1476 kB
sqpctl 16210 8979 0 0 kB
sqpctl 16038 8979 0 0 kB

Name sort -k 5 -n -r:

[20:10:25][root][~]$ ps -ef | grep sqpctl
rdsdb     8976     1  0 19:27 ?        00:00:00 /u01/sqp/bin/sqpctl -d service start
rdsdb    11326  8979  0 19:34 ?        00:00:11 sqpctl -d sqptaskstr process1
rdsdb    11351  8979  0 19:34 ?        00:00:01 sqpctl -d sqptaskstr process2
rdsdb    11467  8979  0 19:34 ?        00:00:01 sqpctl -d sqptaskstr process3

那么,有没有一种方法,我可以结合 ps -ef 同上 互换用途 并得到准确的进程名称。基本上是这样的,我用这个脚本检查sqpctl进程的swap:for file in proc*status ; do awk 'VmSwap{printf $2 " " $3}END{printf $2}。

/u01/sqp/bin/sqpctl        11691 8979 0 25092 kB
process1                   11878 8979 0 24588 kB
process2                   11467 8979 0 24316 kB
process3                   12480 8979 0 21796 kB
process4                   11482 8979 0 21592 kB
process5                   12441 8979 0 21056 kB
process6                   11688 8979 0 20820 kB
linux bash memory-management swap
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.