提示
暂不支持移动端,请在PC端查看

首页 难题挑战 演武堂 炼金阁 模板管理 运营中心 光明顶 关于我们
搜索

【鲲鹏】CPU 与内存子系统性能调优之 top工具

楼主
仗剑天涯

76

主题

14

回帖

372

积分

发布时间:2024-1-17 15:15:53 | 显示全部楼层
介绍
top是最常用的Linux性能监测工具之一。通过top工具可以监视进程和系统整体性能。

命令参考举例:
命令说明
top查看系统整体的CPU、内存资源消耗。
top执行后输入1查看每个CPU core资源使用情况。
top执行后输入F,并选择P选项查看线程执行过程中是否调度到其它CPU core。
top -p $PID -H查看某个进程内所有线程的CPU资源占用。

安装方式
系统自带,无需安装。

使用方法

步骤1  使用top命令统计整体CPU、内存资源消耗。
19.png

● CPU项:显示当前总的CPU时间使用分布。
        – us表示用户态程序占用的CPU时间百分比。
        – sy表示内核态程序所占用的CPU时间百分比。
        – wa表示等待IO等待占用的CPU时间百分比。
        – hi表示硬中断所占用的CPU时间百分比。
        – si表示软中断所占用的CPU时间百分比。
通过这些参数我们可以分析CPU时间的分布,是否有较多的IO等待。在执行完调优步骤后,我们也可以对CPU使用时间进行前后对比。如果在运行相同程序、业务情况下CPU使用时间降低,说明性能有提升。
● KiB Mem:表示服务器的总内存大小以及使用情况。
● KiB Swap:表示当前所使用的Swap空间的大小。Swap空间即当内存不足的时候,把一部分硬盘空间虚拟成内存使用。如果当前所使用的Swap空间大于0,可以考虑优化应用的内存占用或增加物理内存。


步骤2  在top命令执行后按1,查看每个CPU core的使用情况。
通过该命令可以查看单个CPU core的使用情况,如果CPU占用集中在某几个CPU core上,可以结合业务分析触发原因,从而找到优化思路。
57.png

步骤3  选中top命令的P选项,查看线程运行在哪些 CPU core上。
在top命令执行后按F,可以进入top命令管理界面。在该界面通过上下键移动光标到P选项,通过空格键选中后按Esc退出,即可显示出线程运行的CPU核。观察一段时间,若业务线程在不同NUMA节点内的CPU core上运行,则说明存在较多的跨NUMA访问,可通过NUMA绑核进行优化。
01.png
32.png

步骤4 使用top -p $PID -H命令观察进程中每个线程的CPU资源使用。“-p”后接的参数为待观察的进程ID。通过该命令可以找出消耗资源多的线程,随后可根据线程号分析线程中的热点函数、调用过程等情况。
55.png

原文:鲲鹏性能优化十板斧5.0.pdf

版权说明:
本文内容由EDA²侠客岛用户自发贡献,版权归原作者所有,EDA²侠客岛不拥有其著作权,亦不承担相应法律责任,如果您发现本社区中有涉嫌抄袭的内容,请立即联系EDA²侠客岛平台,一经查实,将立刻删除涉嫌侵权内容。
联系我们
EDA²侠客岛邮箱:xiakedao@eda2.com
联系人电话:18191069556
ISEDA官网
IDAS官网
EDA²公众号
企业微信

Powered by Discuz!

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表