读书人

Linux 内存储器使用情况查看命令

发布时间: 2012-12-15 15:16:03 作者: rapoo

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排序,可以保证清晰的查看到系统占用内存较大的线程。

?

?

查看httped的进程的内存总量: (ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum}')

?

?

?

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 11991 ?0 21:32 pts/0 ? ?00:00:00 grep httpd

admin ? ?14969 26047 ?0 09:21 ? ? ? ? ?00:00:01 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy

admin ? ?20417 26047 ?0 09:36 ? ? ? ? ?00:00:01 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy

root ? ? 26047 ? ? 1 ?0 Nov19 ? ? ? ? ?00:00:00 /usr/alibaba/httpd/bin/httpd -d /home/admin/run/deploy

?

?

通过pstree -p 26047, ?可以看到所有的子进程的线程!

?

?

?

查看swap使用情况:

?

#!/bin/bash

PID=${1:-[1-9]*}

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"


读书人网 >UNIXLINUX

热点推荐