亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux服務器系統內存監控方法詳解

2024-09-05 23:02:21
字體:
來源:轉載
供稿:網友

內存是Linux內核所管理的最重要的資源之一。內存管理系統是操作系統中最為重要的部分,因為系統的物理內存總是少于系統所需要的內存數量。虛擬內存就是為了克服這個矛盾而采用的策略。系統的虛擬內存通過在各個進程之間共享內存而使系統看起來有多于實際內存的內存容量。Linux支持虛擬內存, 就是使用磁盤作為RAM的擴展,使可用內存相應地有效擴大。核心把當前不用的內存塊存到硬盤,騰出內存給其他目的。當原來的內容又要使用時,再讀回內存。

  一、內存使用情況監測

 ?。?)實時監控內存使用情況

  在命令行使用“Free”命令可以監控內存使用情況

 

#free

             total       used       free     shared    buffers     cached

Mem:        256024     192284      63740          0      10676     101004

-/+ buffers/cache:      80604     175420

Swap:       522072          0     522072


  上面給出了一個256兆的RAM和512兆交換空間的系統情況。第三行輸出(Mem:)顯示物理內存。total列不顯示核心使用的物理內存(通常大約1MB)。used列顯示被使用的內存總額(第二行不計緩沖)。 free列顯示全部沒使用的內存。Shared列顯示多個進程共享的內存總額。Buffers列顯示磁盤緩存的當前大小。第五行(Swap:)對對換空間,顯示的信息類似上面。如果這行為全0,那么沒使用對換空間。在缺省的狀態下,free命令以千字節(也就是1024字節為單位)來顯示內存使用情況??梢允褂?amp;mdash;h參數以字節為單位顯示內存使用情況,或者可以使用—m參數以兆字節為單位顯示內存使用情況。還可以通過—s參數使用命令來不間斷地監視內存使用情況:

 ?。ree –b –s2

  這個命令將會在終端窗口中連續不斷地報告內存的使用情況,每2秒鐘更新一次。

 ?。?)組合watch與 free命令用來實時監控內存使用情況:

 

#watch -n 2 -d free

Every 2.0s: free                                        Fri Jul 6 06:06:12 2007

             total       used       free     shared    buffers     cached

Mem:        233356     218616      14740          0       5560      64784

-/+ buffers/cache:     148272      85084

Swap:       622584       6656     615928


  watch命令會每兩秒執行 free一次,執行前會清除屏幕,在同樣位置顯示數據。因為 watch命令不會卷動屏幕,所以適合出長時間的監測內存使用率??梢允褂?-n選項,控制執行的頻率;也可以利用 -d選項,讓命令將每次不同的地方顯示出來。Watch命令會一直執行,直到您按下 [Ctrl]-[C] 為止。

  二、虛擬內存的概念

 ?。?)Linux虛擬內存實現機制

  Linux虛擬內存的實現需要六種機制的支持:地址映射機制、內存分配回收機制、緩存和刷新機制、請求頁機制、交換機制、內存共享機制。

  首先內存管理程序通過映射機制把用戶程序的邏輯地址映射到物理地址,在用戶程序運行時如果發現程序中要用的虛地址沒有對應的物理內存時,就發出了請求頁要求;如果有空閑的內存可供分配,就請求分配內存(于是用到了內存的分配和回收),并把正在使用的物理頁記錄在緩存中(使用了緩存機制)。 如果沒有足夠的內存可供分配,那么就調用交換機制,騰出一部分內存。另外在地址映射中要通過TLB(翻譯后援存儲器)來尋找物理頁;交換機制中也要用到交換緩存,并且把物理頁內容交換到交換文件中后也要修改頁表來映射文件地址。

 ?。?)虛擬內存容量設定

  也許有人告訴你,應該分配2倍于物理內存的虛擬內存,但這是個不固定的規律。如果你的物理保存比較小,可以這樣設定。如果你有1G物理內存或更多的話,可以縮小一下虛擬內存。Linux會把大量的內存用做Cache的,但在資源緊張時回收回.。你只要看到swap為0或者很小就可以放心了,因為內存放著不用才是最大的浪費。

  三、使甩vmstat命令監視虛擬內存使用情況

  vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。通常使用vmstat 5 5(表示在5秒時間內進行5次采樣)命令測試。將得到一個數據匯總它可以反映真正的系統情況。


#vmstat 5 5

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

 r b   swpd   free   buff cache   si   so    bi    bo   in    cs us sy id wa

 1 0 62792   3460   9116 88092    6   30   189    89 1061   569 17 28 54 2

 0 0 62792   3400   9124 88092    0    0     0    14 884   434 4 14 81 0

 0 0 62792   3400   9132 88092    0    0     0    14 877   424 4 15 81 0

 1 0 62792   3400   9140 88092    0    0     0    14 868   418 6 20 74 0

 1 0 62792   3400   9148 88092    0    0     0    15 847   400 9 25 67 0

  vmstat命令輸出分成六個部分:

  (1)進程procs:

  r:在運行隊列中等待的進程數 。

  b:在等待io的進程數 。

  (2)內存memoy:

  swpd:現時可用的交換內存(單位KB)。

  free:空閑的內存(單位KB)。

  buff: 緩沖去中的內存數(單位:KB)。

  cache:被用來做為高速緩存的內存數(單位:KB)。

 ?。?) swap交換頁面

  si: 從磁盤交換到內存的交換頁數量,單位:KB/秒。

  so: 從內存交換到磁盤的交換頁數量,單位:KB/秒。

  (4) io塊設備:

  bi: 發送到塊設備的塊數,單位:塊/秒。

  bo: 從塊設備接收到的塊數,單位:塊/秒。

  (5)system系統:

  in: 每秒的中斷數,包括時鐘中斷。

  cs: 每秒的環境(上下文)切換次數。

 ?。?)cpu中央處理器:

  cs:用戶進程使用的時間 。以百分比表示。

  sy:系統進程使用的時間。 以百分比表示。

  id:中央處理器的空閑時間 。以百分比表示。

  如果 r經常大于 4 ,且id經常小于40,表示中央處理器的負荷很重。 如果bi,bo 長期不等于0,表示物理內存容量太小。

  四、Linux 服務器的內存泄露和回收內存的方法

  1、內存泄漏的定義:

  一般我們常說的內存泄漏是指堆內存的泄漏。堆內存是指程序從堆中分配的,大小任意的(內存塊的大小可以在程序運行期決定),使用完后必須顯示釋放的內存。應用程序一般使用malloc,realloc,new等函數從堆中分配到一塊內存,使用完后,程序必須負責相應的調用free或delete釋放該內存塊,否則,這塊內存就不能被再次使用,我們就說這塊內存泄漏了。

  2、內存泄露的危害

  從用戶使用程序的角度來看,內存泄漏本身不會產生什么危害,作為一般的用戶,根本感覺不到內存泄漏的存在。真正有危害的是內存泄漏的堆積,這會最終消耗盡系統所有的內存。從這個角度來說,一次性內存泄漏并沒有什么危害,因為它不會堆積,而隱式內存泄漏危害性則非常大,因為較之于常發性和偶發性內存泄漏它更難被檢測到。存在內存泄漏問題的程序除了會占用更多的內存外,還會使程序的性能急劇下降。對于服務器而言,如果出現這種情況,即使系統不崩潰,也會嚴重影響使用。

  3、內存泄露的檢測和回收

  對于內存溢出之類的麻煩可能大家在編寫指針比較多的復雜的程序的時候就會遇到。在 Linux 或者 unix 下,C、C++語言是最使用工具。但是我們的C++程序缺乏相應的手段來檢測內存信息,而只能使用 top 指令觀察進程的動態內存總額。而且程序退出時,我們無法獲知任何內存泄漏信息。

  使用kill命令

  使用Linux命令回收內存,我們可以使用Ps、Kill兩個命令檢測內存使用情況和進行回收。在使用超級用戶權限時使用命令“Ps”,它會列出所有正在運行的程序名稱,和對應的進程號(PID)。Kill命令的工作原理是:向Linux操作系統的內核送出一個系統操作信號和程序的進程號(PID)。

  應用例子:

  為了高效率回收內存可以使用命令ps 參數v:

 

[root@www ~]# ps v

 PID TTY      STAT   TIME MAJFL   TRS   DRS   RSS %MEM COMMAND

 2542 tty1     Ss+    0:00      0     8 1627   428 0.1 /sbin/mingetty tty1

 2543 tty2     Ss+    0:00      0     8 1631   428 0.1 /sbin/mingetty tty2

 2547 tty3     Ss+    0:00      0     8 1631   432 0.1 /sbin/mingetty tty3

 2548 tty4     Ss+    0:00      0     8 1627   428 0.1 /sbin/mingetty tty4

 2574 tty5     Ss+    0:00      0     8 1631   432 0.1 /sbin/mingetty tty5

 2587 tty6     Ss+    0:00      0     8 1627   424 0.1 /sbin/mingetty tty6

 2657 tty7     Ss+    1:18     12 1710 29981 7040 3.0 /usr/bin/Xorg :0 -br -a

 2670 pts/2    Ss     0:01      2   682 6213 1496 0.6 -bash

 3008 pts/4    Ss     0:00      2   682 6221 1472 0.6 /bin/bash

 3029 pts/4    S+     0:00      2    32 1783   548 0.2 ping 192.168.1.12

 3030 pts/2    R+     0:00      2    73 5134   768 0.3 ps v 
  然后如果想回收Ping命令的內存的話,使用命令:


 ?。?Kill -9 3029

  使用工具軟件

  Memprof是一個非常具有吸引力且非常易于使用的軟件,它由Red Hat的Owen Talyor創立。這個工具是用于GNOME前端的Boehm-Demers-Weiser垃圾回收器。這個工具直接就可以執行,并且其工作起來無需對源代碼進行任何修改。在程序執行時,這個工具會以圖形化的方式顯示內存的使用情況。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩免费观看中文| 国产欧美亚洲精品| 国产亚洲精品va在线观看| 不卡在线观看电视剧完整版| 欧美精品日韩www.p站| 日韩免费在线观看视频| 国产小视频国产精品| 亚洲国产精品小视频| 亚洲天堂成人在线视频| 91精品久久久久久综合乱菊| 日韩在线播放av| 日本亚洲欧美三级| 精品久久中文字幕| 精品久久久久久中文字幕一区奶水| 欧美在线视频免费| 欧美一性一乱一交一视频| 亚洲一区二区精品| 茄子视频成人在线| 亚洲成人精品视频| 97精品国产91久久久久久| 亚洲电影免费在线观看| 久久免费在线观看| 久久亚洲精品小早川怜子66| 伊人伊成久久人综合网站| 亚洲最大成人网色| 丁香五六月婷婷久久激情| 91网在线免费观看| 国产精品激情av电影在线观看| 狠狠色香婷婷久久亚洲精品| www.久久久久| 亚洲欧美国产一区二区三区| 成人黄色免费网站在线观看| 日韩中文字幕第一页| 美女国内精品自产拍在线播放| 成人黄色av播放免费| 精品少妇一区二区30p| 77777少妇光屁股久久一区| 国内精品久久久久影院 日本资源| 亚洲激情第一页| 国产精品入口福利| xvideos成人免费中文版| 自拍偷拍亚洲区| 中文字幕av一区中文字幕天堂| 欧美精品videos性欧美| 欧美黑人巨大精品一区二区| 欧美日韩国产综合视频在线观看中文| 亚洲色图日韩av| 亚洲第一区中文99精品| 国产999在线观看| 亚洲电影免费观看高清完整版在线观看| 精品在线观看国产| 欧美成人sm免费视频| 美日韩丰满少妇在线观看| 欧美精品videos另类日本| 中文字幕亚洲情99在线| 亚洲黄色有码视频| 国产精品美女免费看| 久久久久国产一区二区三区| 精品福利视频导航| 国产精品99导航| 亚洲激情 国产| 亚洲第一精品久久忘忧草社区| 98精品国产高清在线xxxx天堂| 久久精品一偷一偷国产| 久久久这里只有精品视频| 亚洲黄色有码视频| 精品国产91久久久| 狠狠躁夜夜躁久久躁别揉| 精品中文字幕久久久久久| 欧美一区亚洲一区| 久久精品这里热有精品| 国产99久久精品一区二区 夜夜躁日日躁| 日韩久久精品电影| 欧美日韩爱爱视频| 91亚洲va在线va天堂va国| 午夜欧美不卡精品aaaaa| 国产91精品在线播放| 亚洲香蕉av在线一区二区三区| 91亚洲精华国产精华| 国产精品xxxxx| 一区二区欧美久久| 精品久久久久久中文字幕一区奶水| 91久久中文字幕| 成人xvideos免费视频| 久久久久久久一区二区三区| 国产欧美一区二区| 2019亚洲日韩新视频| 亚洲国产精品va| 清纯唯美亚洲综合| 亚洲视频第一页| 国产精品久久久久久亚洲影视| 一本色道久久88亚洲综合88| 午夜精品久久久久久久99热| 懂色aⅴ精品一区二区三区蜜月| 国产精品视频自在线| 日韩电影免费观看在线观看| 亚洲电影免费观看高清完整版在线| 欧美亚洲成人网| 欧美精品电影在线| 在线看日韩欧美| 国产精品久久久久久亚洲调教| 亚洲片国产一区一级在线观看| 日韩精品中文字幕久久臀| 国产精品久久久久久久久久ktv| 国产精品一香蕉国产线看观看| 欧美日韩免费在线观看| 国产视频精品一区二区三区| 97超视频免费观看| 91视频免费网站| 欧美激情久久久久久| 欧美大尺度在线观看| 51久久精品夜色国产麻豆| 国产精品视频网站| 亚洲另类欧美自拍| 久久精品免费播放| 欧美猛少妇色xxxxx| 欧美日本啪啪无遮挡网站| 最近中文字幕2019免费| 久久久久久12| 2019日本中文字幕| 久久婷婷国产麻豆91天堂| 亚洲精品v欧美精品v日韩精品| 97人洗澡人人免费公开视频碰碰碰| 亚洲精品动漫久久久久| 国产一区二区三区在线| 这里精品视频免费| 亚洲精选中文字幕| 日韩欧美在线视频观看| 久久久精品一区| 欧美视频免费在线观看| 日韩精品福利在线| 7777精品久久久久久| 91欧美激情另类亚洲| 国产精品一久久香蕉国产线看观看| 欧美性69xxxx肥| 日韩美女av在线| 5566成人精品视频免费| 国模私拍视频一区| 中文字幕在线看视频国产欧美| 亚洲男人天堂2024| 亚洲最大中文字幕| 欧美性xxxx极品hd欧美风情| 欧美极品xxxx| 欧美超级免费视 在线| 亚洲人成77777在线观看网| 一区二区三区www| 精品夜色国产国偷在线| 欧美成人免费va影院高清| 国内精品久久久久| 欧美日韩福利视频| 国产午夜精品视频免费不卡69堂| 欧美色图在线视频| 中文字幕亚洲一区二区三区| www高清在线视频日韩欧美| 日韩中文理论片| 亚洲女成人图区| 88xx成人精品| 国产一区玩具在线观看| 在线精品高清中文字幕| 亚洲美女久久久| 久久视频在线观看免费| 成人免费观看a| 欧美极品美女电影一区| 久久精品99久久香蕉国产色戒|