728x90
반응형
리눅스에서 swap의 사용률이 높을 경우 어떤 프로세스에 의해서 swap이 높은지 확인할 수 있는 커맨드입니다. 복사 후 붙여넣기 하면 됩니다.
우선 기본적으로 swap의 전체 사용량은 top이나 /proc/meminfo를 통해서 확인이 가능합니다.
# top
# cat /proc/meminfo | grep Swap
SwapCached: 168744 kB
SwapTotal: 4194300 kB
SwapFree: 111668 kB
각 프로세스들의 swap 사용량 확인
# find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") printf "%10s %-30s %20s\n",process["Pid"],process["Name"],process["VmSwap"]}' '{}' \;
각 프로세스들을 swap 사용량 순서대로 정렬하여 출력
# find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") printf "%10s %-30s %20s\n",process["Pid"],process["Name"],process["VmSwap"]}' '{}' \; | awk '{print $(NF-1),$0}' | sort -h | cut -d " " -f2-
swap사용량 높은 10개만 순서대로 정렬하기
# find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") printf "%10s %-30s %20s\n",process["Pid"],process["Name"],process["VmSwap"]}' '{}' \; | awk '{print $(NF-1),$0}' | sort -hr | head | cut -d " " -f2-
swap사용량(용량,퍼센트) 높은 10개만 순서대로 정렬하기
# find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" -v TOTSWP="$(cat /proc/meminfo | sed -n -e "s/^SwapTotal:[ ]*\([0-9]*\) kB/\1/p")" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") {used_swap=process["VmSwap"];sub(/[ a-zA-Z]+/,"",used_swap);percent=(used_swap/TOTSWP*100); printf "%10s %-30s %20s %6.2f%\n",process["Pid"],process["Name"],process["VmSwap"],percent} }' '{}' \; | awk '{print $(NF-2),$0}' | sort -hr | head | cut -d " " -f2-
이렇게 확인된 사용량이 높은 pid는 ps커맨드를 통해서 자세한 정보를 확인한 뒤에 해당 프로세스를 종료하거나 수정을 하면 됩니다.
ps -ef | grep <pid>
728x90
반응형
'리눅스 > Performance' 카테고리의 다른 글
리눅스: 커맨드 결과 실시간 모니터링 하기: watch (0) | 2020.07.30 |
---|---|
리눅스 iftop 결과에서 rates와 peak 값에 대한 설명 (0) | 2020.07.21 |
리눅스에서 메모리 사용량이 큰 프로세스 확인하기 (0) | 2020.04.07 |