starxzj 发表于 2018-5-17 06:59:10

linux负载查看

  

  衡量内存负载的一个很重要的指标就是页面置换的频率。当linux系统频繁的对页进行换进换出
  的时候,说明物理内存不过,不得不进行频繁的置换页面。
  使用vmstat(virtual memory statistics)进行内存负载分析
  $ vmstat 2 3
  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
  rb   swpd   free   buffcache   si   so    bi    bo   in   cs us sy id wa st
  00      0 7586681968864508   56    0   0   2562631183 22 7420
  00      0 7586681968864532    0    0   0   0   21   1001 9900
  00      0 7586681968864532    0    0   0   0   19    701 10000
  对于内存负载分析其中关键的字段是:
  swpd:虚拟内存的使用总量。
  si:每秒从虚拟内存读入内存的大小。
  so:每秒从内存写入虚拟内存的大小。
  如果这3个字段的值比较高说明出现了内存瓶颈。
  也可以使用free 来标识内存的负载情况.
  $ free
  total       used       free   shared    buffers   cached
  Mem:      911564   155492   756072          0      20564      65696
  -/+ buffers/cache:      69232   842332
  Swap:      3481592          0    3481592
  如果发现linux 系统使用了其中大部分的物理内存。这是正常的linux使用这些物理内存来
  提升系统的性能。其中要注意的是swap 那一行.
  $ free -s 3
  total       used       free   shared    buffers   cached
  Mem:      911564   155748   755816          0      20620      65732
  -/+ buffers/cache:      69396   842168
  Swap:      3481592          0    3481592
  

  total       used       free   shared    buffers   cached
  Mem:      911564   155748   755816          0      20620      65732
  -/+ buffers/cache:      69396   842168
  Swap:      3481592          0    3481592
  -s 选项表示间隔多少秒,报告一次内存负载情况。使用Ctrl+C退出。可以把上面
  的输出重定向到文件。
  也可以通过查看虚拟文件 /proc/meminfo 来查看内存的负载情况。
  $ cat /proc/meminfo
  MemTotal:         911564 kB
  MemFree:          239024 kB
  Buffers:         23304 kB
  Cached:         513724 kB
  SwapCached:            0 kB
  Active:         216272 kB
  Inactive:         387160 kB
  如果你在输出中看到SwapFree 字段的值较低,说明你的系统内存负载很高,需要添加
  额外的内存,或者监控系统进程对内存的使用情况,把一些不需要的进程结束掉。缓解
  内存负载。vmstat,free,cat /proc/meminfo 都可以和watch 一起配合使用。
  使用sar 进行实时,当天,当天前本月的其他天的内存负载情况分析。
  使用sar 进行历史内存发展分析.
  $ sar -B -f /var/log/sa/sa08
  Linux 2.6.32-71.el6.i686 (zeng)         03/08/2012      _i686_(1 CPU)
  

  09:50:01 AM       LINUX RESTART
  

  10:00:02 AMpgpgin/s pgpgout/s   fault/smajflt/spgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
  10:10:01 AM      0.00   79.83      0.00    124.61      0.00      0.00      0.00      0.00      0.00
  10:20:01 AM      0.00      1.42      0.00   51.98      0.00      0.00      0.00      0.00      0.00
  10:30:01 AM      0.00    113.79      0.00    135.36      0.00      0.00      0.00      0.00      0.00
  10:40:02 AM      0.00      0.02      0.00   32.64      0.00      0.00      0.00      0.00      0.00
  10:50:01 AM      0.00      0.02      0.00   33.78      0.00      0.00      0.00      0.00
  -B 表示报告系统的分析统计情况。
  pgpgin/s :每秒从磁盘中调入的大小,bytes。
  pgpgout/s :每秒从内存中换出的大小,bytes。
  -f 表示要从哪个历史日志文件中读取相应的报告数据。/var/log/sa/saNN NN表示本月的天数。
  $ sar -W -f /var/log/sa/sa13
  Linux 2.6.32-71.el6.i686 (zeng)         03/13/2012      _i686_(1 CPU)
  

  12:57:10 PM       LINUX RESTART
  

  01:00:02 PMpswpin/s pswpout/s
  01:10:02 PM   20.41      0.00
  01:20:01 PM   58.31      0.00
  01:30:02 PM   19.76      0.00
  01:40:01 PM   20.00      0.00
  01:50:01 PM   19.75      0.00
  02:00:01 PM   19.98      0.00
  02:10:01 PM   33.62      0.00
  02:20:01 PM   20.94      0.00
  02:30:01 PM   20.84      0.00
  02:40:01 PM   20.40      0.00
  -W 表示报告交换的统计情况。
  pswpin/s:每秒置换进来的大小。
  pswpout/s:每秒置换出的大小。
  如果这两个值较高,说明内存负载大。
  使用sar 进行实时内存负载分析.
  $ sar -W 3 5
  Linux 2.6.32-71.el6.i686 (zeng)         03/14/2012      _i686_(1 CPU)
  

  10:54:01 AMpswpin/s pswpout/s
  10:54:04 AM   22.61      0.00
  10:54:07 AM   17.02      0.00
  10:54:10 AM   22.38      0.00
  10:54:13 AM   16.84      0.00
  10:54:16 AM   22.30      0.00
  Average:      20.24      0.00
  3 表示报告的时间间隔s。
  5 表示报告的次数。
  使用sar 进行当前内存负载分析。
  $ sar -W
  Linux 2.6.32-71.el6.i686 (zeng)         03/14/2012      _i686_(1 CPU)
  

  09:48:13 AM       LINUX RESTART
  09:50:02 AMpswpin/s pswpout/s
  10:00:01 AM      1.00      0.00
  10:10:01 AM      0.61      0.00
  10:20:01 AM   19.49      0.00
  10:30:02 AM   29.70      0.00
  10:40:01 AM   38.41      0.00
  10:50:02 AM   20.49      0.00
  Average:      18.07      0.00
  $ sar -r
  Linux 2.6.32-71.el6.i686 (zeng)         03/14/2012      _i686_(1 CPU)
  

  09:48:13 AM       LINUX RESTART
  

  09:50:02 AM kbmemfree kbmemused%memused kbbufferskbcachedkbcommit   %commit
  10:00:01 AM    755660    155904   17.10   20240   65580    176952      4.03
  10:10:01 AM    755684    155880   17.10   20628   65732    176056      4.01
  10:20:01 AM    209720    701844   76.99   23648    537324    693520   15.79
  10:30:02 AM    177240    734324   80.56   24452    568336    693476   15.79
  10:40:01 AM   60144    851420   93.40   86464    576484    694376   15.81
  10:50:02 AM   59284    852280   93.50   87264    576512    694376   15.81
  Average:       336289    575275   63.11   43783    398328    521459   11.87
  -r 表示报告内存使用率统计。
  字段解释:
  kbmemfree空闲内存大小。
  kbmemused已被使用的内存大小。
  %memused   被使用的内存占总内存的百分比。
  kbbuffers被用作buffer 的内存大小。
  kbcached   被用作cache 的内存大小。
  kbcommit   确保当前的工作负载,所需要的内存大小。以保证不需要使用到swap。
  %commit    kbcommit 与 RAM+swap 的比值。
  

  
页: [1]
查看完整版本: linux负载查看