歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux操作系統跑Linux慢的分析

Linux操作系統跑Linux慢的分析

日期:2017/2/27 14:32:24   编辑:更多Linux
  iostat的默認參數是tdc(terminal, disk, and CPU)。如果任何其他的選項被指定,這個默認參數將被完全替代,例如,iostat -d將只反 映磁盤的統計結果。     語法:   基本語法: iostat interval count     option - 讓你指定所需信息的設備,像磁盤、cpu或者終端(-d , -c , -t or -tdc ) 。x 選項給出了完整的統計結果(gives the extended     statistic)。     interval - 在兩個samples之間的時間(秒)。     count - 就是需要統計幾次     例子:   $ iostat -xtc 5 2   extended disk statistics tty cpu   disk r/s w/s Kr/s Kw/s wait actv svc_t %w %b tin tout us sy wt id   sd0 2.6 3.0 20.7 22.7 0.1 0.2 59.2 6 19 0 84 3 85 11 0   sd1 4.2 1.0 33.5 8.0 0.0 0.2 47.2 2 23   sd2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0   sd3 10.2 1.6 51.4 12.8 0.1 0.3 31.2 3 31     The fields have the following meanings:     disk name of the disk   r/s reads per second   w/s writes per second   Kr/s kilobytes read per second   Kw/s kilobytes written per second   wait average number of transactions waiting for service (Q length)   actv average number of transactions actively   being serviced (removed from the   queue but not yet   completed)   %w percent of time there are transactions waiting   for service (queue non-empty)   %b percent of time the disk is busy (transactions   in progress)     Results and Solutions:     從iostat輸出結果中需要注意的值:     Reads/writes per second (r/s , w/s)   Percentage busy (%b)   Service time (svc_t)     如果磁盤顯示長時間的高reads/writes,並且磁盤的percentage busy (%b)也遠大於5%,同時average service time (svc_t)也遠大於30     milliseconds,這以下的措施需要被執行:   1.)調整應用,令其使用磁盤i/o更加有效率,可以通過修改磁盤隊列、使用應用服務器的cache     2.)將文件系統分布到2個或多個磁盤上,並使用volume manager/disksuite的條帶化特點     3.) 增加系統參數值,如inode cache , ufs_ninode。Increase the system parameter values for inode cache , ufs_ninode , which     is Number of inodes to be held in memory. Inodes are cached globally (for UFS), not on a per-file system basis     4.) 將文件系統移到更快的磁盤/控制器,或者用更好的設備來代替  vmstat - vmstat反映了進程的虛擬內存、虛擬內存、磁盤、trap(是不是翻譯成中斷??)和cpu的活動情況     在多cpu系統中,vmstat在輸出結果中平均了cpu數量。For per-process statistics .如果沒有選項,vmstat顯示一行虛擬內存活動的概要     結果,是從系統啟動時開始的。     語法:   vmstat interval count     option - 讓你指定所需的信息類型,例如 paging -p , cache -c ,.interrupt -i etc.     如果沒有指定選項,將會顯示進程、內存、頁、磁盤、中斷和cpu信息     interval - 同iostat     count - 同iostat     例子   The following command displays a summary of what the system   is doing every five seconds.     example% vmstat 5   procs memory page disk faults cpu   r b w swap free re mf pi p fr de sr s0 s1 s2 s3 in sy cs us sy id   0 0 0 11456 4120 1 41 19 1 3 0 2 0 4 0 0 48 112 130 4 14 82   0 0 1 10132 4280 0 4 44 0 0 0 0 0 23 0 0 211 230 144 3 35 62   0 0 1 10132 4616 0 0 20 0 0 0 0 0 19 0 0 150 172 146 3 33 64   0 0 1 10132 5292 0 0 9 0 0 0 0 0 21 0 0 165 105 130 1 21 78     The fields of vmstat's display are   procs   r in run queue   b blocked for resources I/O, paging etc.   w swapped     memory (in Kbytes)   swap - amount of swap space currently available   free - size of the free list     page ( in units per second).   re page reclaims - see -S option for how this field is modified.   mf minor faults - see -S option for how this field is modified.   pi kilobytes paged in   po kilobytes paged out   fr kilobytes freed   de anticipated short-term memory shortfall (Kbytes)   sr pages scanned by clock algorithm     disk ( operations per second )   There are slots for up to four disks, labeled with a single letter and number.   The letter indicates the type of disk (s = SCSI, i = IPI, etc) . The number is   the logical unit number.     faults   in (non clock) device interrupts   sy system calls   cs CPU context switches     cpu - breakdown of percentage usage of CPU time. On multiprocessors this is an a   verage across all processors.   us user time   sy system time   id idle time     結果和解決方案:   A. CPU issues:     下面幾列需要被察看,以確定cpu是否有問題     Processes in the run queue (procs r)   User time (cpu us)   System time (cpu sy)   Idle time (cpu id)   procs cpu   r b w us sy id   0 0 0 4 14 82   0 0 1 3 35 62   0 0 1 3 33 64   0 0 1 1 21 78     問題情況:   1.) 如果processes in run queue (procs r)的數量遠大於系統中cpu的數量,將會使系統便慢。   2.) 如果這個數量是cpu的4倍的話,說明系統正面臨cpu能力短缺,這將使系統運行速度大幅度降低   3.) 如果cpu的idle時間經常為0的話,或者系統占用時間(cpu sy)是用戶占用時間(cpu us)兩輩的話,系統面臨缺少cpu資源     解決方案 :   解決這些情況,涉及到調整應用程序,使其能更有效的使用cpu,同時增加cpu的能力或數量。     B. Memory Issues:   內存的瓶頸取決於scan rate (sr) 。scan rate是每秒時鐘對頁的掃描 (he scan rate is the pages scanned by the clock algorithm per     second.)如果 scan rate (sr)一直大於200 pages每秒,這時就是內存短缺的現實。     解決方案 :   1. 調整應用和服務器,使其能更好的使用memory和cache   2. 增加系統內存  dmidecode類似AIX的lsdev,所有的設備基本都可以看到。




Copyright © Linux教程網 All Rights Reserved