前言
Linux是由unix发展而来,一般在类unix系统上,都会有系统负载(load average)这个指标,用来形容系统的繁忙程度,值越大则代表系统越繁忙。那么负载是什么?怎么查看?怎么避免负载过高?
一、负载是什么?
一般来说,系统进程基本都在这3个状态上:就绪态、运行态、阻塞态等待,其中,运行态的进程正在CPU上跑,就绪态的进程等待CPU调度,而阻塞的进程等待锁释放或I/O条件的完成进入就绪态。
在传统unix系统上(如BSD),系统负载由正在运行的进程以及就绪态的进程这2个部分组成。它能很好的说明CPU的饱和情况,比如4核的CPU,如果负载一直高于4,那说明CPU资源饱和了。
二、查看Linux负载的命令
1.top命令(top查看进程信息):
top命令是Linux下常用的性能分析工具,能够定时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。进程状态显示和控制,每5s中自动刷新一次(动态显示)
top -d [时间间隔]
//指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。- top -p [pid] // 通过指定监控进程ID来仅仅监控某个进程的状态。
- top -q //该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权 限,那么top将以尽可能高的优先级运行。
- top -S //指定累计模式
- top -s //使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
- top -i //使top不显示任何闲置或者僵死进程。
- top -c //显示整个命令行而不只是显示命令名
运行实例:
2.uptime命令(查看平均负载)
uptime
3.free命令(查看空闲内存)
free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
运行实例:
4.mpstat命令 (查看CPU核状态)
mpstat命令 指令主要用于多CPU环境下,它显示各个可用CPU的状态。这些信息一般存放在/proc/stat
文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息
参数:
- 间隔时间:每次报告的间隔时间(秒);
- 次数:显示报告的次数。
使用:
mpatat -p [指定的CPU编号]
运行实例:
5.df(查看磁盘的使用率)
df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
运行实例:
总结
在平时使用系统的过程中,应该时常注意,防止系统过载。应该及时查看系统cpu状态,内存使用情况、平均负载。同时应该注意电脑是否长时间使用而导致电脑过热。及时关闭不必要的系统进程,优化系统进程。