より簡潔な回答を表示するために、cyberciti.biz コマンドを改善:
(echo "COMM PID SWAP"; for file in /proc/*/status ; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t
出力例:
COMM PID SWAP
dockerd 662 2736 kB
skypeforlinux 26865 1320 kB
NetworkManager 303 1112 kB
slim 392 1028 kB
redis-server 350 204 kB
ここから:
<ブロック引用>[a] /proc/meminfo - このファイルは、システムのメモリ使用量に関する統計を報告します。これは free によって使用され、システム上の空きメモリと使用済みメモリ (物理メモリとスワップの両方) の量、およびカーネルによって使用される共有メモリとバッファの量を報告します。無料の vmstat やその他のツールを使用して、同じ情報を見つけることもできます。
[b]/proc/${PID}/smaps、/proc/${PID}/status、および /proc/${PID}/stat :これらのファイルを使用して、PID を使用して各プロセスで使用されるメモリ、ページ、およびスワップに関する情報を検索します。
[c] smem - このコマンド (python スクリプト) は、比例的に分割された共有メモリでメモリ使用量を報告します。
また、何がスワップを使用しているかを調べるも参照できます
#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL"
Macのコマンドラインから現在のフォルダーとすべてのサブフォルダーの.DS_STOREファイルを削除します
osx と centos にインストールされている python のすべてのバージョンを確認する方法