Linux下查看系统负载相关命令

一. top命令

  • 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

1. 使用方式

top [参数]

-b 批处理     -c 显示完整的治命令     -I 忽略失效过程     -s 保密模式     -S 累积模式

-i<时间> 设置间隔时间     -u<用户名> 指定用户名     -p<进程号> 指定进程     -n<次数> 循环显示的次数

2. 显示数据说明

①统计信息区

前五行是当前系统情况整体的统计信息区。

1)第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下

04:54:32 — 当前系统时间

up 1 min — 系统已经运行了1分钟(在这期间系统没有重启过)

2 users — 当前有2个用户登录系统

load average: 0.57, 0.37, 0.14 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

2)第二行,Tasks — 任务(进程),具体信息说明如下:

系统现在共有150个进程,其中处于运行中的有2个,148个在休眠(sleep),stoped状态的有0个,僵尸进程有0个

3)第三行,cpu状态信息,具体属性说明如下:

0.0%us — 用户空间占用CPU的百分比。

0.3% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

99.7% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.0% si — 软中断(Software Interrupts)占用CPU的百分比

4)第四行,内存状态,具体信息如下:

1015516k total — 物理内存总量(约1GB)

809152k used — 使用中的内存总量(790MB)

206364k free — 空闲内存总量(201MB)

57720k buffers — 缓存的内存量 (56MB)

5)第五行,swap交换分区信息,具体信息说明如下:

1046524k total — 交换区总量(1GB)

0k used — 使用的交换区总量(0K)

1046524k free — 空闲交换区总量(1GB)

355972k cached — 缓冲的交换区总量(约350MB)

②进程状态区

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

二. uptime命令

查看内容和top的第一行类似

三. w命令

  • 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

1.使用说明

w(选项)(用户)

-h:不打印头信息;
-u:当显示当前进程和cpu时间时忽略用户名;
-s:使用短输出格式;
-f:显示用户从哪登录;
-V:显示版本信息。

用户:仅显示指定用户。

2.显示数据说明

第一行命令和上面类似

  • USER:登录用户。
  • TTY:登录终端。
  • FROM:远程主机名,即从哪儿登录来的。
  • LOGIN@:何时登录。
  • IDLE:空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。
  • JCPU:和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间。
  • PCPU:指当前进程(即在WHAT项中显示的进程)所占用的时间 。
  • WHAT:当前正在运行进程的命令行。

四. vmstat命令

  • 显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。

1. 使用可选选项

-a:显示活动内页;
-f:显示启动后创建的进程总数;
-m:显示slab信息;
-n:头信息仅显示一次;
-s:以表格方式显示事件计数器和内存状态;
-d:报告磁盘状态;
-p:显示指定的硬盘分区状态;
-S:输出信息的单位。

2. 显示数据说明

①procs部分:显示进程的相关信息

  • r(run):表示运行或等待CPU时间片的进程数。该数值如果长期大于CPU核数就意味着CPU不够用了。
  • b(block):表示等待资源的进程数,这里的资源指的是I/O、内存等。比如说有个数据CPU很快处理完了,但是硬盘在频繁的读写当中,该数据等待写入硬盘时,这个进程就是b的状态。该数据长时间大于1就需要找找问题了。

②memory部分:显示内存的相关信息

  • swpd:表示切换到交换分区中的内存数量,单位为KB。
  • free:表示当前空闲的内存大小。单位KB
  • fuff:表示(即将写入磁盘的)缓冲大小,单位KB
  • cache:表示(从磁盘中读取的)缓存大小,单位KB

③swap 显示内存的交换情况

  • si:表示由交换分区写内存的数据量,单位KB
  • so:表示由内存写入交换分区的数据量

④io显示磁盘的使用情况

  • bi:表示从块设备读取数据的量(读磁盘)
  • bo:表示从块设备写入数据的量(写磁盘)

⑤system显示采集间隔内发生的中断次数

  • in:表示在某一时间间隔内观测到的每秒设备的中断次数
  • cs:表示每秒产生的上下文切换次数

⑥cpu显示CPU的使用状态

  • us:显示用户下所花费CPU的时间百分比
  • sy:显示系统花费CPU的时间百分比
  • id:表示CPU处于空闲状态的时间百分比
  • wa:表示I/O等待所占用的CPU时间百分比

五. free命令

  • free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

1. 使用说明

free [参数]

-b  以Byte为单位显示内存使用情况。 

-k  以KB为单位显示内存使用情况。 

-m  以MB为单位显示内存使用情况。

-g   以GB为单位显示内存使用情况。 

-o  不显示缓冲区调节列。 

-s<间隔秒数>  持续观察内存使用状况。 

-t  显示内存总和列。 

-V  显示版本信息。

2. 显示数据说明

  • total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。
  • 第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别:
    这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是2098428KB,已用内存是30841684KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

六. ps命令

  • ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

1. 使用说明

ps[参数]

a  显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c  显示进程的真实名称

-N 反向选择

-e 等于“-A”

e  显示环境变量

f  显示程序间的关系

-H 显示树状结构

r  显示当前终端的进程

T  显示当前终端的所有程序

u  指定用户的所有进程

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程 

-C<命令> 列出指定命令的状况

--lines<行数> 每页显示的行数

--width<字符数> 每页显示的字符数

--help 显示帮助信息

--version 显示版本显示

2. 显示数据

猜你喜欢

转载自blog.csdn.net/weixin_39731083/article/details/81569126