Linux 系统监控负载命令汇总


1. Top命令 是能够比较全面实时展示进程的资源占用状况,详解参见Linux 系统监控负载top命令详解 见

2. uptime 不需其他参数,提供使用者下面的信息:

现在的时间  系统开机运转到现在经过的时间  连线的使用者数量  最近一分钟 、五分钟和十五分钟的系统负载  参数。

17:09:52 up 30 days, 23:55,  7 users,  load average: 4.03, 4.10, 4.17

对于单核cpu(1个核心),一般维持在0.7左右,负荷 1.00 说明系统已经没有剩余的资源了,大于1.00说明已经服务器超负荷运行了,对于一台24核 的上述负载值来说,系统资源还是有很大的空闲可用。

从性能的角度上理解,一台主 机拥有多核心的处理器与另台拥有同样数目的处理性能基本上可以认为是相差无几。当然实际 情况会复杂得多,不同数量的缓存、处理器的频率等因素都可能造成性能的差异。

但即便这些因素造成的实际性能稍有不同,其实系统还是以处理器的核心数量计算负载均值 。这使我们有了两个新的法则:

「有多少核心即为有多少负荷」法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量。

「核心的核心」法则: 核心分布在分别几个单个物理处理中并不重要,其实两颗四核的处理器 等于 四个双核处理器 等于 八个单处理器。所以,它应该有八个处理器内核。

在 Linux 下,可以使用

cat /proc/cpuinfo 

获取你系统上的每个处理器的信息。如果你只想得到数字,那么就使用下面的命令:

grep 'model name' /proc/cpuinfo | wc -l 

3. free用来监控内存信息的使用状况

  1. [xubc@node1 log]$ free -m -s 2 -c 3 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:         32219      30986       1233          0       1740      25455 
  4. -/+ buffers/cache:       3789      28430 
  5. Swap:        16386          0      16386 

参数:-m 是以MB来显示内存信息大小的

            -s  每隔2秒刷新内存信息数据

            -c  显示次数

Mem:  total 物理内存总数: 32219M
            used 已经使用的内存数: 30986M
            free 空闲的内存数: 1233M
            shared 当前已经废弃不用,总是0
            buffers 即Buffer Cache内存数: 1740M 
            cached 即Page Cache内存数: 25455M

-/+ buffers/cache:
            used = Mem.used-buffers-cache


            free = Mem.used+buffers+cache

-buffers/cache反映的是被程序实实在在占用掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
操作系统来讲buffers/cached 都是属于被使用,所以它认为free只有1233.
应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。

page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。

Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache;

Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。

相关内容