【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
1 安装zmem工具
yum install smem -y
zmem 特性
系统概况列表
按进程、映射和用户列表
按用户、映射或用户过滤
来自多个数据源的可配置列
可配置的输出单位和百分比
可配置的标题和总和
从/proc读取活动数据
从目录镜像或经过压缩的打包文件读取数据快照
面向嵌入式系统的轻型捕获工具
内置的图表生成功能
2 内存相关的指标
# smem
PID User Command Swap USS PSS RSS
7907 www php-fpm: pool www 8224 4 5 412
PID 进程
USER 所属用户
Command 命令
Swap 交换分区
USS Residentset size 使用top命令可以查询到,是最常用的内存指标,表示进程占用的物理内存大小,RSS中包含了各进程间共享的内存
PSS Proportionalset size 它将共享内存的大小进行平均后,再分摊到各进程上去
RSS Unique set size 是PSS中自己的部分,只计算了进程独自占用的内存大小,不包含任何共享的部分
单位为 KB
3 使用方法
# smem -h
Usage: smem [options]
Options:
-h, --help show this help message and exit
-H, --no-header disable header line
-c COLUMNS, --columns=COLUMNS
columns to show
-t, --totals show totals
-R REALMEM, --realmem=REALMEM
amount of physical RAM
-K KERNEL, --kernel=KERNEL
path to kernel image
-m, --mappings show mappings
-u, --users show users
-w, --system show whole system
-P PROCESSFILTER, --processfilter=PROCESSFILTER
process filter regex
-M MAPFILTER, --mapfilter=MAPFILTER
map filter regex
-U USERFILTER, --userfilter=USERFILTER
user filter regex
-n, --numeric numeric output
-s SORT, --sort=SORT field to sort on
-r, --reverse reverse sort
-p, --percent show percentage
-k, --abbreviate show unit suffixes
--pie=PIE show pie graph
--bar=BAR show bar graph
-S SOURCE, --source=SOURCE
/proc data source
查看每个进程使用的内存
smem
# smem
PID User Command Swap USS PSS RSS
7907 www php-fpm: pool www 8224 4 5 412
查看每个用户使用的内存
# smem -u
User Count Swap USS PSS RSS
chrony 1 224 416 440 1312
dbus 1 308 568 682 1548
view 2 0 1608 2432 5488
polkitd 1 3832 4288 4403 5424
oubao 4 0 5496 7259 13552
www 116 1558664 1020840 1022731 1107504
root 56 54252 26784216 26828282 27015436
查看内存进程状态百分比
# smem -p
PID User Command Swap USS PSS RSS
7907 www php-fpm: pool www 0.78% 0.00% 0.00% 0.00%
查看固件使用内存
# smem -R 32G -w
Area Used Cache Noncache
firmware/hardware 775492 0 775492
kernel image 0 0 0
kernel dynamic memory 4679248 3773032 906216
userspace memory 27858120 99880 27758240
free memory 241572 241572 0
查看系统内存使用:
smem -w
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 4652788 3748408 904380
userspace memory 27869796 99864 27769932
free memory 256356 256356 0
# smem -w -p
Area Used Cache Noncache
firmware/hardware 0.00% 0.00% 0.00%
kernel image 0.00% 0.00% 0.00%
kernel dynamic memory 14.20% 11.45% 2.75%
userspace memory 85.01% 0.30% 84.71%
free memory 0.79% 0.79% 0.00%
查看内存只展示需要的列
# smem -c "pid uss"
PID USS
7907 4
查看内存根据某一列排序 顺序
# smem -u -s uss
User Count Swap USS PSS RSS
chrony 1 224 416 440 1312
dbus 1 308 568 682 1548
view 2 0 1608 2432 5488
polkitd 1 3832 4288 4403 5424
oubao 4 0 5496 7259 13552
www 116 1558664 1020844 1022735 1107508
root 56 54252 26782984 26827090 27014308
查看内存根据某一列排序 倒序
# smem -u -s uss -r
User Count Swap USS PSS RSS
root 56 54252 26784368 26828474 27015696
www 116 1558660 1020848 1022739 1107512
oubao 4 0 5496 7259 13552
polkitd 1 3832 4288 4403 5424
view 2 0 1608 2432 5488
dbus 1 308 568 682 1548
chrony 1 224 416 440 1312
查看内存过滤进程查看
# smem -M java
PID User Command Swap USS PSS RSS
3850 root /usr/local/jdk1.8/bin/java 0 20 24 92
6135 root /usr/local/jdk1.8/bin/java 0 20 24 88
6478 root /usr/local/jdk1.8/bin/java 0 20 24 92
10658 root /usr/local/jdk1.8/bin/java 0 20 24 92
12035 root /usr/local/jdk1.8/bin/java 0 20 24 92
12857 root /usr/local/jdk1.8/bin/java 0 20 24 92
15878 root /usr/local/jdk1.8/bin/java 0 20 24 88
19064 root /usr/local/jdk1.8/bin/java 0 20 24 88
25653 root /usr/local/jdk1.8/bin/java 0 20 24 88
25727 root /usr/local/jdk1.8/bin/java 0 20 24 92
26798 root /usr/local/jdk1.8/bin/java 0 20 24 92
31255 root /usr/local/jdk1.8/bin/java 0 20 24 92
16192 root /usr/local/jdk1.8/bin/java 0 20 33 120
1610 root /usr/local/jdk1.8/bin/java 0 20 49 152
31749 root /usr/local/jdk1.8/bin/java 0 20 49 152
画图功功能不实用
来源:oschina
链接:https://my.oschina.net/54188zz/blog/3144943