Aix system memory usage
内存使用量
svmon -G
inuse:是物理内存使用量,这里是以4K为单位,所以1037487*4096=4249546752(424M)
virtual:是虚拟内存使用量,这里是以4K为单位,所以378796*4096=1551548416(155M)
内存从大到小排序
ps aux | head -1 ; ps aux | sort -rn +3 | head -10
内存从大到小排序(详细执行命令)
ps -ealf | head -1 ; ps -ealf | sort -rn +9 | head -10
根据某个命令或进程名,查看内存使用率
ps aux | head -1 ; ps aux | grep topas
显示使用物理内存最多的3个进程:
# svmon -uP -t 3|grep -p Pid|grep '^.*[0-9] '
6553834 java 51279 8917 0 50938 N Y N
4456680 java 34626 8874 0 34608 N Y N
5701730 BESClient 29564 8882 0 25689 Y Y N
- 输出的格式顺序为 Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
- 可以计算出X程序所使用的实存为51279×4096=210038784,约为210MB
显示交换区使用物理内存最多的3个进程
# svmon -gP -t 3|grep -p Pid|grep '^.*[0-9] ' 1966206 shlap64 26782 8880 0 26771 Y N N 0 swapper 9872 8912 0 9872 Y N N 1 init 22094 8836 0 22076 N N N 第一个程序X所使用的交换区大小约为 26782×4096 =10510336 字节,大约为10MB空间
每隔三秒显示使用最多的段
# svmon -S -t 3 -i 3 Vsid Esid Type Description Inuse Pin Pgsp Virtual 4f08 - clnt 37505 0 - - 11e1 - clnt 33623 0 - - 8811 - work kernel pinned heap 12637 6547 8091 19397 可见,Vsid为4f08的段使用最多
显示指定PID内存使用情况
``` svmon -pP 22674 看PID为22674的进程所使用的为那些文件 Pid Command nuse Pin Pgsp Virtual 64-bit Mthrd 22674 java 29333 1611 2756 32404 N Y
Vsid Esid Type Description Inuse Pin Pgsp Virtual 0 0 work kernel seg 2979 1593 1659 4561 a056 - work 43 16 3 46 1e03 2 work process private 77 2 17 93 1080 - pers /dev/hd2:69742 1 0 - - f8bd f work shared library data 84 0 11 99 60ee 8 work shmat/mmap 0 0 0 0 70ec - pers /dev/hd2:69836 1 0 - -
# 通过ncheck命令,检查Vsid都使用了哪些文件。
ncheck a056
# 查看物理内存总量
cat mem1.sh
#!/usr/bin/ksh #mem totle totalmem=$(vmstat -v|head -n 1|awk '{print $1/256}') echo “mem totle:” echo $totalmem MB echo
# 查看每个用户占用物理内存的数量
# cat mem2.sh
usermem=$(for username in cat /etc/passwd|awk -F: '{print $1}'
do
svmon -U $username|grep $username” “
done)
usermem=echo "$usermem"|grep -v "0 0 0 0"|awk '{print $1,$2/256,"MB"}'
echo “singe user pmem”
echo “$usermem”
usermem=$(echo “$usermem”|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{print sum1;}')
usermem=$(echo $usermem|awk -F. '{print $1}')
echo “singe user pmem :” $usermem MB
echo
```