京东商智_物理机cpu&load&memory监控参数说明
Linux常用查看系统状态T命令
netstat
查看各种网络相关信息,如网络连接、路由表、接口状态、pid、程序名等。
1 | jiazhengyang3@ZBMac-G44J4T0DY ~ % netstat |
top
查看CPU和内存使用情况,输出第一行为负载均衡,第二行为进程统计,第三行为cpu占用情况,第四行为
内存使用情况,第五行为交换分区使用情况,剩下的就是各个进程的详细监控数据。
以下case为macOS,略有不同:
1 | Processes: 410 total, 5 running, 405 sleeping, 3222 threads 23:45:26 |
df/du
df用于查看整个磁盘情况,du用于查看指定文件夹占用磁盘情况。
free
用于查看内存使用情况,比top命令多了一个buffers/cache标识内核使用的内存缓冲区情况。
1 | [root@localhost ~]# free |
CPU监控

User
User表示CPU一共花了多少比例的时间运行在用户态空间或者说是用户进程(running user space processes),这不包括运行操作系统内核代码的时间,典型的用户态空间程序有:Shells、数据库、web服务器等。
Nice
与User类似,Nice表示CPU执行优先级较低的用户级应用程序代码的时间。nice命令可以改变进程的优先级,nice值越高,优先级越低,范围为[-20,19]。
System
System表示CPU花了多少比例的时间在内核空间运行。分配内存、IO操作、创建子进程等都是内核操作,这也表明,当IO操作频繁时,System参数会很高。
Wait
在计算机中,读写磁盘的操作远比CPU运行的速度要慢,CPU负载处理数据,而数据一般在磁盘上需要读到内存中才能处理。当CPU发起读写操作后,需要等着磁盘驱动器将数据读入内存,从而导致CPU 在等待的这一段时间内无事可做,CPU处于这种等待状态的时间由Wait或IOWait参数来衡量。
Idle
Idel表示CPU处于空闲状态时间比例。一般而言,idel + user + nice 约等于100%,认真来说user + system + nice + idle + iowait + irq + softirq + … = 100%才是正确的。
Load监控

load average负载均衡,表示一段时间内的活跃进程数。上图中分别是1分钟、5分钟、15分钟的负载值,该值是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。
Memory监控

free命令可以直观的展示内存使用情况:
total
total表示内存总数。
used
used表示已经使用内存数。
free
free表示剩余内存数。注意used + free = total。
shared
shared表示不同进程间共享内存,共享内存是一种特殊类型的内存,可以被系统上的多个进程访问,使得进程间通信能够更快捷、高效。
buffers
buffers指的是缓冲(Buffer)内存的使用量。缓冲内存是由内核管理的内存区域,用于缓存(即临时存储)文件系统的元数据和跟踪在实际数据读写操作中使用的块设备(比如硬盘)的信息。当文件系统需要读写块设备数据时,它通常会首先检查缓冲区中是否已经存在该数据。如果数据已经在缓冲区中,那么可以直接从内存读取,而无需访问较慢的磁盘,从而提高了性能。
cached
cached指的是缓存(cached)内存的使用量。缓存是把读取过的数据保存在内存中,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。 简单来说,buffer是已经被读过的数据所在块的所有数据,是很可能即将要被读写的数据;而cache是已经被读取过的数据。
-buffers/cache
等于used - buffers - cached,表示被系统被实际使用掉的内存。
+buffers/cache
等于free + buffers + cached,表示可以挪用的内存总数。
Swap
Swap交换空间是一块磁盘上的空间,当系统的物理内存(RAM)不足时,操作系统可以使用这个交换空间作为一个临时的内存使用,是物理内存的一个扩展,可以视为硬盘上的虚拟内存。当系统内存不足时,操作系统会将不常用的内存页移到Swap空间中,以便释放物理内存给当前需要的进程使用。然而,因为交换空间位于硬盘上或者是固态驱动器上,所以其访问速度比直接访问物理内存慢得多,过度依赖交换空间会导致系统性能降低,这种情况被称为“交换爆炸”。通常,当系统使用了大量的Swap并且系统响应变慢时,可能是物理内存不足的迹象,需要考虑增加物理内存或优化当前运行的应用程序。