top 命令


日常运维中部署 elasticsearch 集群实现日志审计分析,由于elasticsearch 对主机资源消耗较高,top 中出现主机 cpu 利用率超过 100% ,显示数值大于500% 。那么问题来了,是 cpu 爆表了还是正常的负载值。接下来解答疑惑。

top 视图

通过在 top 视图下按键盘的1,查看cpu的核数为12核。

top 命令显示的是程序占用的cpu的总数,12核cpu最高占用率可达1200%,top视图显示的是把所有使用率加起来的总数。

/proc/cpuinfo

CPU总核数 = 物理CPU个数 X 每颗物理CPU的核数

总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

#查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
#查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
#查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

top 命令

top 视图交互参数

Z:改变颜色;
B:加粗
t:显示和隐藏任务/cpu信息;
m:内存信息
1:监控每个逻辑CPU的状况;
f:进入字段显示配置模式,可增加或者移除显示字段,按相应的字母新增或去除;
o:进入字段顺序设置模式,可配置显示位置顺序,按相应的字母往下移动,按“shift+相应的字母”往上移动
F:进入字段排序配置模式,可设置排序的字段;
R:正常排序/反向排序;
s:设置刷新的时间
u:输入用户,显示用户的任务
i:忽略闲置和僵死进程。这是一个开关式命令。
r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。
#输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
c:切换显示命令名称和完整命令行。
M:根据驻留内存大小进行排序。
P:根据CPU使用百分比大小进行排序。
H:显示线程

查看 elasticsearch 进程占用的资源情况

查看 elasticsearch pid 号

ps -ef |grep  elasticsearch

查看 pid 9907 进程的资源占用情况(-d 指定刷新间隔单位s)

top -p 9907 -d 5

查看 elasticsearch 进程所有活跃的线程消耗情况

top -p 9907 -H -d 5

本文分享自微信公众号 - 开源搬运工宋师傅(gh_9e345a3a1074),作者:songhp

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。