Linux查看CPU和内存使用情况以及ps命令

top命令

  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

  运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

  Linux查看CPU和内存使用情况以及ps命令


内容解释:

第一行(top):

  15:24:36 系统当前时刻

  14 days 系统启动后到现在的运作时间

  3 users 当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目

  load average 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程

第二行(Tasks):

  288 total 当前系统进程总数

  1 running 当前运行中的进程数

  287 sleeping 当前处于等待状态中的进程数

  0 stoped 被停止的系统进程数

  0 zombie 僵尸进程数

第三行(Cpus):

  7.3% us 用户空间占用CPU百分比
  2.0% sy 内核空间占用CPU百分比
  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
  90.4% id 空闲CPU百分比
  0.3% wa 等待输入输出的CPU时间百分比
  0.0% hi
  0.0% si

  0.0% st

第四行(Mem):

  2042616 total 物理内存总量
  1770116 used 使用的物理内存总量
  272500 free 空闲内存总量
  163912 buffers 用作内核缓存的内存量

第五行(Swap):

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

  2094076 total 交换区总量
  45052 used 使用的交换区总量
  2049024 free 空闲交换区总量
  346624 cached 缓冲的交换区总量

最下部分的进程列表栏:

以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:

  s- 改变画面更新频率

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  h - 显示帮助

  n - 设置在进程列表所显示进程的数量

  q - 退出 top

  s -改变画面更新周期

ps命令

  ps命令用于报告当前系统的进程状态。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

Linux查看CPU和内存使用情况以及ps命令

  F 代表这个程序的旗标 (flag), 4 代表使用者为 super user;

  S 代表这个程序的状态 (STAT);

  PID 程序的 ID ;

  C CPU 使用的资源百分比

  PRI 这个是 Priority (优先执行序) 的缩写;

  NI 这个是 Nice 值。

  ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running # 的程序,一般就是『 - 』

  SZ 使用掉的内存大小;

  WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;

  TTY 登入者的终端机位置;

  TIME 使用掉的 CPU 时间。

  CMD 所下达的指令

{STAT状态:

R——Runnable(运行):正在运行或在运行队列中等待
S——sleeping(中断):休眠中,受阻,在等待某个条件的形成或接收到信号
D——uninterruptible sleep(不可中断):收到信号不唤醒和不可运行,进程必须等待直到有中断发生
Z——zombie(僵死):进程已终止,但进程描述还在,直到父进程调用wait4()系统调用后释放
T——traced or stoppd(停止):进程收到SiGSTOP,SIGSTP,SIGTOU信号后停止运行

常用命令含义:

-a  显示所有终端机下执行的进程,除了阶段作业领导者之外。
 a  显示现行终端机下的所有进程,包括其他用户的进程。
-A  显示所有进程。
-c  显示CLS和PRI栏位。
 c  列出进程时,显示每个进程真正的指令名称,而不包含路径,参数或常驻服务的标示。
-C  <指令名称>  指定执行指令的名称,并列出该指令的进程的状况。
-d  显示所有进程,但不包括阶段作业领导者的进程。
-e  此参数的效果和指定"A"参数相同。
 e  列出进程时,显示每个进程所使用的环境变量。
-f   显示UID,PPIP,C与STIME栏位。
 f   用ASCII字符显示树状结构,表达进程间的相互关系。
-g  <群组名称>  此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。
 g  显示现行终端机下的所有进程,包括群组领导者的进程。
-G  <群组识别码>  列出属于该群组的进程的状况,也可使用群组名称来指定。
 h  不显示标题列。
-H  显示树状结构,表示进程间的相互关系。
-j或j  采用工作控制的格式显示进程状况。
-l或l  采用详细的格式来显示进程状况。
 L     列出栏位的相关信息。
-m或m  显示所有的执行绪。
 n  以数字来表示USER和WCHAN栏位。
-N  显示所有的进程,除了执行ps指令终端机下的进程之外。
-p   <进程识别码>  指定进程识别码,并列出该进程的状况。
 p   <进程识别码>  此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。
 r  只列出现行终端机正在执行中的进程。
-s   <阶段作业>  指定阶段作业的进程识别码,并列出隶属该阶段作业的进程的状况。
 s  采用进程信号的格式显示进程状况。
 S  列出进程时,包括已中断的子进程资料。
-t   <终端机编号>  指定终端机编号,并列出属于该终端机的进程的状况。
 t   <终端机编号>  此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异。
-T  显示现行终端机下的所有进程。
-u   <用户识别码>  此参数的效果和指定"-U"参数相同。
 u  以用户为主的格式来显示进程状况。
-U   <用户识别码>  列出属于该用户的进程的状况,也可使用用户名称来指定。
 U   <用户名称>  列出属于该用户的进程的状况。
 v  采用虚拟内存的格式显示进程状况。
-V或V  显示版本信息。
-w或w  采用宽阔的格式来显示进程状况。 
 x  显示所有进程,不以终端机来区分。
 X  采用旧式的Linux i386登陆格式显示进程状况。
 -y    配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位。

常用组合:
ps -ef
ps aux 或 ps -aux
ps auxc 或 ps -auxc

}

pmap命令

  pmap命令用于报告进程的内存映射关系

  $ pmap -d 16613

Linux查看CPU和内存使用情况以及ps命令

 

free命令

  free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

  Linux查看CPU和内存使用情况以及ps命令

 

下面是对这些数值的解释:
  total:总计物理内存的大小。
  used:已使用多大。
  free:可用有多少。
  Shared:多个进程共享的内存总额。
  Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
  used:已使用多大。
  free:可用有多少。

转载链接:https://www.cnblogs.com/mengchunchen/p/9669704.html