张小烦 发表于 2017-3-1 01:06:29

Debian查看内存



Linux内存使用情况查看命令
查看内存:free
total       used       free   shared    buffers   cached
Mem:       8126976    7609376   517600          0   447392    1268632
-/+ buffers/cache:    5893352    2233624
Swap:      2928636   572388    2356248
top查看进程,shift+f可以设置排序顺序,如果按照RES排序,可以保证清晰的查看到系统占用内存较大的线程。
ps:查看进程情况, 一般使用ps -ef, ps -aux
-A :所有的 process 均显示出来,与 -e 具有同样的效用;
-a :不与 terminal 有关的所有 process ;
-u :有效使用者 (effective user) 相关的 process ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
l :较长、较详细的将该 PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。
红色为父进程id
guest    12032 119910 21:32 pts/0    00:00:00 grep httpd
admin    14969 260470 09:21 ?      00:00:01 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy
admin    20417 260470 09:36 ?      00:00:01 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy
root   26047   10 Nov19 ?      00:00:00 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy
通过pstree -p 26047,可以看到所有的子进程的线程!
查看swap使用情况:
#!/bin/bash
PID=${1:-*}
total_swap=0
GetSwap () {
pid=$1
cmdline=$(cat /proc/$pid/cmdline 2>/dev/null|tr '' ' ')
pid_swap=$(awk 'BEGIN{total=0}/Swap/{total+=$2}END{print total}' /proc/$pid/smaps 2>/dev/null)
if [ "$pid_swap" != '' ] && [ "$pid_swap" -gt 0 ]; then
echo "PID=$pid – Swap used: $pid_swap Kb – ($cmdline)"
fi
}
cd /proc
for pid in $PID; do
GetSwap $pid
let total_swap+=$pid_swap
done
echo "Total swap: $total_swap Kb"












页: [1]
查看完整版本: Debian查看内存