AIX 内存与进程资源占用查看命令
内存使用查看
我们查看物理内存系统就是用
vmstat
svmon -Gtopas
nmon 然后按m
可以使用lsps -s看看swap空间使用率,如果物理内存没什么压力,swap使用会很低。
数据库的系统,物理内存越大,他使用swap区,和存储的磁盘IO的次数就越少。
comp是计算,一般是应用程序或者数据库用的,nocomp是非计算,一般是给文件系统做缓存用的,comp和nocomp加起来,是物理内存使用率总和。
nocomp部分的内存页面是存放系统和应用使用的文件、数据,作为缓存,用来提升性能的,一般情况nocomp会提前占用未使用的内存给文件系统缓存。
一般刚开始的时候,这个nocomp部分的占用率会比较小,随着业务运行时间长了,nocomp占用率就会提升,甚至接近占满整个物理内存。如果有新的文件或数据产生了换页工作,系统会在非计算内存区域里释放不常用的资源空间给新的数据用。
具体非计算内存空间会占多少是根据系统vmo中的minperm 和maxperm这两个参数来决定的,占用的大小会在这两个值之间,这个一般数据库安装的时候,都会有推荐的参数去设置。
这个filesystemcache等使用物理内存的空间是系统参数有关的,这些参数要根据不同应用厂商的要求来设置,一般都是应用安装之前,就按照应用厂商要求来设置好的。
这些内存缓存区的占用是参数可以控制的,必须按照应用的要求,比如oracle根据不同环境都有推荐参数,不能随便改,否则可能会影响性能或者出现问题。
用svmon 看到的内容实际上里面包含了非计算分页的内存,也就是说不管物理内存有多大,非计算分页区域都会把物理内存占满。是把业务的一些相关文件、数据放到非计算分页区域里,用来提升性能的,如果有新的换页工作,就是说新的数据使用这些区域,他就会在非计算内存区域里释放不常用的资源空间给新的数据用,具体非计算内存空间会占多少是根据系统vmo中的minperm 和maxperm这两个参数来决定的,实际占用情况会在这两个参数之间,如果你想让他少占,就要调整maxperm的参数
你要想知道计算内存和非计算内存区域用多少,用topas命令和nmon命令能看到
vmo -a能看到相关参数
按内存占用排序进程
内存使用率的进程排序
ps aux | head -1 ; ps aux | sort -rn +3 | head -10进程详细信息
ps -ealf | head -1 ; ps -ealf | sort -rn +9 | head -10显示使用物理内存最多的10个进程
svmon -uP -t 10|grep -p Pid|grep '^.*[0-9] '资源占用检查命令
(2)显示10个消耗内存最多的进程
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10
(3)显示10个换页最多的进程
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10