1: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.71Tasks: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
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND8987 root 20055097482.4g 7592S46.77.725382:24 java
9730 root 20042612528249407772S4.02.52816:16 java
17683 root 10-10170532491886460S2.30.2468:07.53 AliYunDun
10476 root 20099952609.4g 1348S1.030.0254:27.10 redis-server
28829 root 20016265628321588R1.00.00:01.14 top
545 root 2001269008313925916S0.30.1338:24.55 CmsGoAgent.linu
546 root 200216721088828S0.30.04:10.99 irqbalance
9333 root 10-1043691620321232S0.30.032:12.31 AliSecGuard
27347 root 10-1057963292001352S0.30.044:12.52 AliDetect
1 root 2005276842281956S0.00.010:34.76 systemd
2 root 200000S0.00.00:00.83 kthreadd
4 root 0-20000S0.00.00:00.00 kworker/0:0H
……………………………………………………………………………………………………………………………………………
top各参数解释:
统计信息区前几行是系统整体的统计信息。
第一行是任务队列信息 :
| 参数 | 释义 |
|---|---|
| 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:3278024418509816578494811504848548013856092Swap:000[root@izwz94b8tt3jlf3ne0ymp3z ~]# free -m ##以MB为单位显示内存使用情况
total used free shared buff/cache available
Mem:3201118075564911828613531Swap:000[root@izwz94b8tt3jlf3ne0ymp3z ~]# free -g ##以GB为单位显示内存使用情况
total used free shared buff/cache available
Mem:311750813Swap:000[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 163796680163796680%/dev
tmpfs 163901200163901200%/dev/shm
tmpfs 1639012011496163786241%/run
tmpfs 163901200163901200%/sys/fs/cgroup
/dev/vda1 30950500418130788011350093262%//dev/vdb1 515927276216367924717301725%/data
25b5d49774-fjs35.cn-shenzhen.nas.aliyuncs.com:/10995116277763427737610994773504001%/content
tmpfs 3278028432780241%/run/user/0输出结果列说明
| 参数 | 释义 |
|---|---|
| Filesystem | 代表该文件系统是哪个分区,所以列出的是设备名称 |
| 1K-blocks | 磁盘大小。说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置 |
| Used | 已经使用的空间大小。 |
| Available | 剩余的空间大小。 |
| Use% | 磁盘使用率 |
| Mounted on | 磁盘挂载的目录 |


发布评论