使用smem 计算Oracle用户下内存占用情况.

1. 本来计划使用 ps 命令进行查看, 但是发现ps 最多查询出来的是 RSS的内存数据, 会多添加很多冗余的内存数据量进来, 于是作罢

2. 找了下公司的方神, 说可以使用smem 然后简单看了下发现的确可以.

3. 安装和使用方法如下:

yum install epel-release
yum install smem

简单执行一下命令效果为:

[root@CentOS77 ~]# smem
  PID User     Command                         Swap      USS      PSS      RSS 
 2633 root     nginx: master process ./ngi     1400        4        4       56 
 3233 gdm      dbus-launch --exit-with-ses      496        4        4      196 
 3253 gdm      /usr/libexec/at-spi-bus-lau      712        4        4      288 
 3258 gdm      /usr/bin/dbus-daemon --conf      500        4        4      288 
 3260 gdm      /usr/libexec/at-spi2-regist      812        4        4      280 
 3359 gdm      /usr/bin/pulseaudio --start     1476        4        4      264 
 3434 gdm      /usr/libexec/ibus-dconf          688        4        4      296 
 3439 gdm      /usr/libexec/ibus-portal         648        4        4      296 
 3451 gdm      /usr/libexec/xdg-permission      520        4        4      276 
 3472 gdm      /usr/libexec/gsd-a11y-setti      676        4        4      288 
 3479 gdm      /usr/libexec/gsd-datetime       2040        4        4      272 
 3483 gdm      /usr/libexec/gsd-housekeepi      620        4        4      272 
 3488 gdm      /usr/libexec/gsd-mouse           552        4        4      272 

第六列是PSS

第五列是USS

4. 查询oracle用户的内存信息

smem |grep oracle |grep -v grep |awk '{sum+=$6} END {printf("%13.2f MB 
", sum/1024 )}'

就可以简单查看了

因为单位是kb 所以可以使用除法进行显示. 

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12965609.html