Linux下查看CPU、内存占用率

我们经常需要查看 CPU和内存占用率,否则一旦存在情况很快就会有IDC(或客户)找上门,Linux上查看资源使用情况有多种命令可以参考,CPU、内存、IO、NETWORK等资源使用情况都可以通过某些命令查询到,本文只说CPU/内存及简单的问题追踪方法。
一、top查看Linux资源占用情况
top命令可以查看CPU、内存利用率,当然这些值都是平均利用率,以下是安装APACHE+PHP+MYSQL后的运行情况,示例抓图如下:

其中,

PID - 进程标示号
USER - 进程所有者
PR - 进程优先级
NI - 进程优先级别数值
VIRT - 进程占用的虚拟内存值
RES - 进程占用的物理内存值
SHR - 进程使用的共享内存值
S - 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死
%CPU - 进程占用的CPU使用率
%MEM - 进程占用的物理内存百分比
TIME+ - 进程启动后占用的总的CPU时间
Command - 进程启动的启动命令名称
二、free命令查看内存使用情况
free命令查看总内存、使用、空闲等情况,如下图:

三、ps命令查看CPU状态
ps(process status)命令用来汇报处理器状态信息,示例用法:

ps ux
ps -H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
上述命令:第一条按默认方式查看状态,第二条命令指定显示列和排序方式,使用时任选其一。

四、简单的CPU高占用定位方法
首先需获取到该进程的PID,通过上文命令即可查到

根据PID找到对应的文件,使用命令(其中PID需替换为查到高占用进程ID):


可以用下面的命令将 cpu 占用率高的线程找出来:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段进行排序。这样就可以找到占用处理器的线程了


ps: invalid option -- 'm'

Show list of processes

        -o COL1,COL2=HEADER     Select columns for display
        -T                      Show threads (显示线程数)
————————————————
版权声明:本文为CSDN博主「yuanchunsi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuanchunsi/article/details/79295801

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐