Linux下查看CPU、内存占用率

摘要:
我们经常需要检查CPU和内存使用情况,否则一旦出现这种情况,IDC(或客户)很快就会来找我们。有许多命令可以检查Linux上的资源使用情况。可以通过一些命令查询CPU、内存、IO、NETWORK和其他资源使用情况。本文只讨论CPU/内存和简单的问题跟踪方法。

我们经常需要查看 CPU和内存占用率,否则一旦存在情况很快就会有IDC(或客户)找上门,Linux上查看资源使用情况有多种命令可以参考,CPU、内存、IO、NETWORK等资源使用情况都可以通过某些命令查询到,本文只说CPU/内存及简单的问题追踪方法。

一、top查看Linux资源占用情况

top命令可以查看CPU、内存利用率,当然这些值都是平均利用率,以下是安装APACHE+PHP+MYSQL后的运行情况,示例抓图如下:

Linux下查看CPU、内存占用率第1张

 

其中,

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

二、free命令查看内存使用情况

free命令查看总内存、使用、空闲等情况,如下图:

Linux下查看CPU、内存占用率第2张

 

三、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 (显示线程数)

1.linux查看占用内存最多的程序

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

2.查看占用cpu最多的程序

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

转 : https://blog.csdn.net/yuanchunsi/article/details/79295801

https://www.cnblogs.com/wt11/p/9291583.html

免责声明:文章转载自《Linux下查看CPU、内存占用率》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nginx模块之请求限制hadoop集群的搭建与配置(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过gdb跟踪Linux内核装载和启动可执行程序过程

作者:吴乐 山东师范大学 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的:通过对一个简单的可执行程序用gdb进行代码的跟踪,剖析linux内核是如何动态和静态装载和启动程序的,进而总结linux内核可执行程序加载的过程。 一、实验过程 1、编写一个简单的Exec的...

ansible批量修改linux服务器密码的playbook

从网上找到批量修改Linux服务器root密码的playbook。 使用方法: 1、输入要修改的inventory组 2、按需要,在playbook中输入要修改的IP、新密码,如下: - hosts: production remote_user: root tasks: - name: change password for root...

[系统资源攻略]CPU使用率和负载

我们在搞性能测试的时候,对后台服务器的CPU利用率监控是一个常用的手段。服务器的CPU利用率高,则表明服务器很繁忙。如果前台响应时间越来越大,而后台CPU利用率始终上不去,说明在某个地方有瓶颈了,系统需要调优。这个是即使不懂技术的人都容易理解的事情。 上面理解对吗?我个人觉得不十分准确。这个要看后台你测试的进程是什么类型的。如果是计算密集型的进程,当前端压...

Instruments_Activity Monitor使用入门

Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。   一、Activity Monitor的介绍和大致使用 具体操作步骤, 首先从Xcode中...

Linux程序包管理.md

rpm 简介 RPM包管理员(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器。RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。最早由Red Hat研制,现在也由开源社区开发。RPM通常随附于Linux发行版,但也有单独将R...

Linux 监控tcp连接数及状态

一、查看哪些IP连接本机 netstat -an 二、查看TCP连接数 查看tcp连接数状态   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  统计8080端口上有多少个TCP连接,命令:   netstat -ant |grep 80|wc -l  TCP连接中...