/ proc 하위 디렉토리를 구문 분석하면 작동합니다.
bash 스크립트로 :
for PROCESS in /proc/*/; do
swapused=$(awk 'BEGIN { total = 0 } /^Swap:[[:blank:]]*[1-9]/ { total = total + $2 } END { print total }' ${PROCESS}/smaps 2>/dev/null || echo 0)
if [ $swapused -gt 0 ]; then
/bin/echo -e "${swapused}k\t$(cat ${PROCESS}/cmdline)"
fi
done
파이프를 정렬하여 출력을 Hi-Lo로 정렬 할 수 있습니다.
{blah}| sort -rn
물론 원하는대로 원하는 언어로 다시 작성하십시오. 나의 Awk-fu는 강하지 않다.
(잘라 내기 불가)
#!/bin/bash
#
# show swap used by processes
#
(for PROCESS in /proc/*/; do
swapused=$(awk 'BEGIN { total = 0 } /^Swap:[[:blank:]]*[1-9]/ { total = total + $2 } END { print total }' ${PROCESS}/smaps 2>/dev/null || echo 0)
if [ $swapused -gt 0 ]; then
/bin/echo -e "${swapused}k\t$(cat ${PROCESS}/cmdline)"
fi
done ) | sort -nr