linux——CPU使用率、内存使用率、磁盘使用率等详解

1:CPU使用率

可参考linux系统查看CPU使用率的命令

常用命令:top

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

[root@izwz94b8tt3jlf3ne0ymp3z ~]# top
top - 09:27:04 up 49 days, 23:46,  8 users,  load average: 0.68, 0.72, 0.71
Tasks: 642 total,   1 running, 641 sleeping,   0 stopped,   0 zombie
%Cpu0  :  2.3 us,  0.7 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  2.0 us,  1.0 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  2.0 us,  1.7 sy,  0.0 ni, 96.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu3  : 28.9 us, 15.3 sy,  0.0 ni, 55.5 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 32780244 total,  5818224 free, 18511132 used,  8450888 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 13854780 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                            
 8987 root      20   0 5509748   2.4g   7592 S  46.7  7.7  25382:24 java                                                                               
 9730 root      20   0 4261252 824940   7772 S   4.0  2.5   2816:16 java                                                                               
17683 root      10 -10  170532  49188   6460 S   2.3  0.2 468:07.53 AliYunDun                                                                          
10476 root      20   0 9995260   9.4g   1348 S   1.0 30.0 254:27.10 redis-server                                                                       
28829 root      20   0  162656   2832   1588 R   1.0  0.0   0:01.14 top                                                                                
  545 root      20   0 1269008  31392   5916 S   0.3  0.1 338:24.55 CmsGoAgent.linu                                                                    
  546 root      20   0   21672   1088    828 S   0.3  0.0   4:10.99 irqbalance                                                                         
 9333 root      10 -10  436916   2032   1232 S   0.3  0.0  32:12.31 AliSecGuard                                                                        
27347 root      10 -10  579632   9200   1352 S   0.3  0.0  44:12.52 AliDetect                                                                          
    1 root      20   0   52768   4228   1956 S   0.0  0.0  10:34.76 systemd                                                                            
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.83 kthreadd                                                                           
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                       
    ……………………………………………………………………………………………………………………………………………
top各参数解释:

统计信息区前几行是系统整体的统计信息。
linux——CPU使用率、内存使用率、磁盘使用率等详解_第1张图片

第一行是任务队列信息

参数 释义
09:27:04 当前时间
up up 49 days, 23:46 系统运行时间,格式为天,时:分
8 users 当前登录用户数
load average: 0.68, 0.72, 0.71 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

同 uptime 命令的执行结果:

[root@izwz94b8tt3jlf3ne0ymp3z ~]# uptime
 09:30:43 up 49 days, 23:50,  8 users,  load average: 2.11, 0.87, 0.74

第二行为进程的信息

参数 释义
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
第三行为CPU的信息
Cpu(s):
有几个CPU,就会显示几行。
例中有4个,故四行。
参数 释义
:--------: :-------------
us 表示用户空间程序的cpu使用率(没有通过nice调度)
sy 表示系统空间的cpu使用率,主要是内核程序
ni 表示用户空间且通过nice调度过的程序的cpu使用率
id 空闲cpu
wa cpu运行时在等待io的时间
hi 硬件CPU中断占用百分比
si 软中断占用百分比
st 虚拟机占用百分比
四五六行同第三行释义(多CPU)

【注意:】97.0id,表示空闲CPU,即CPU未使用率,100%-97.0%=3%,即系统的cpu使用率为3%
最后两行为内存信息
Mem:

参数 释义
total 物理内存总量
free 空闲内存总量
used 使用的物理内存总量
buff/cache 用作内核缓存的内存量
Swap:
参数 释义
:--------: :-------------
total 交换区总量
free
used 使用的交换区总量
avail Mem 代表可用于进程下一次分配的物理内存数量
第七行参数的释义
参数 释义
:--------: :-------------
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 命令名/命令行

2:内存使用率

free命令

[root@izwz94b8tt3jlf3ne0ymp3z ~]# free    	##以KB为单位显示内存使用情况
              total        used        free      shared  buff/cache   available
Mem:       32780244    18509816     5784948       11504     8485480    13856092
Swap:             0           0           0
[root@izwz94b8tt3jlf3ne0ymp3z ~]# free -m	##以MB为单位显示内存使用情况
              total        used        free      shared  buff/cache   available
Mem:          32011       18075        5649          11        8286       13531
Swap:             0           0           0
[root@izwz94b8tt3jlf3ne0ymp3z ~]# free -g	##以GB为单位显示内存使用情况
              total        used        free      shared  buff/cache   available
Mem:             31          17           5           0           8          13
Swap:             0           0           0
[root@izwz94b8tt3jlf3ne0ymp3z ~]# 
参数 释义
Mem 物理内存使用情况
swap 交换分区情况
+buffers/cache (可用)的内存数,即free+buffers+cached
-buffers/cache (已用)的内存数,即used-buffers-cached
total 物理内存总大小
used 已经使用的物理内存大小
free 空闲的物理内存大小
shared 多个进程共享的物理内存大小
buffers Buffer 缓存内存数
cached Page 缓存内存数
自动转换单位显示内存使用情况(centos7才有)
[root@izwz94b8tt3jlf3ne0ymp3z ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            31G         17G        5.5G         11M        8.1G         13G
Swap:            0B          0B          0B

total 总内存 = used + free + buff/cache
available 还能用的内存 = free + buff/cache
如果使用到交换分区,则表明物理内存不够或内存泄漏了

关于 buffer 和 cache:

我们的数据是存放在磁盘上的,数据是交给CPU进行处理的,但磁盘的运转速度很慢,CPU的运转速度很快,不可能直接把磁盘的数据直接丢给CPU进行处理,因此要经过一个中间层,即内存,我们把这部分内存称为缓存(cache);相反地CPU把数据处理完了,要存放到磁盘中,也要经过内存这个中间层,这部分内存则称为缓冲(buffer)因此,数据的流向不一样,内存的角色也不一样。系统会优先预留一部分内存给 buff/cache 使用,剩下的内存再留给系统或程序使用。

3:磁盘使用率

df命令

[root@izwz94b8tt3jlf3ne0ymp3z ~]# df
Filesystem                                          1K-blocks      Used     Available Use% Mounted on
devtmpfs                                             16379668         0      16379668   0% /dev
tmpfs                                                16390120         0      16390120   0% /dev/shm
tmpfs                                                16390120     11496      16378624   1% /run
tmpfs                                                16390120         0      16390120   0% /sys/fs/cgroup
/dev/vda1                                           309505004 181307880     113500932  62% /
/dev/vdb1                                           515927276  21636792     471730172   5% /data
25b5d49774-fjs35.cn-shenzhen.nas.aliyuncs.com:/ 1099511627776  34277376 1099477350400   1% /content
tmpfs                                                 3278028         4       3278024   1% /run/user/0

输出结果列说明

参数 释义
Filesystem 代表该文件系统是哪个分区,所以列出的是设备名称
1K-blocks 磁盘大小。说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置
Used 已经使用的空间大小。
Available 剩余的空间大小。
Use% 磁盘使用率
Mounted on 磁盘挂载的目录

你可能感兴趣的:(linux,centos)