• QQ登錄

    只需要一步,快速開始

    登錄 立即註冊
  • http://www.wzsvip.net/product/yun
    查看: 1480|回覆: 0

    Linux kswapd0 進程CPU佔用過高快速處理方法

    [複製鏈接]
    發表於 2020-12-23 21:46:54 | 顯示全部樓層 |
    Linux kswapd0 進程CPU佔用過高快速處理方法


    1、top





    2、kill-9 9052

    3、執行以下命令

    echo "vm.swappiness = 0">> /etc/sysctl.conf
    swapoff -a
    sysctl -w vm.swappiness=0
    sysctl -p

    4、總結

    swap分區的作用是當物理內存不足時,會將一部分硬盤當做虛擬內存來使用。

    kswapd0 佔用過高是因爲 物理內存不足,使用swap分區與內存換頁操作交換數據,導致CPU佔用過高。

           可以通過修改  /etc/sys/vm/swappiness  裏面的數值來修改swap分區使用與否,默認 60,數值越大表示更多的使用swap分區。這個交換參數控制內核從物理內存移出進程,移到交換空間。該參數從0到100,當該參數=0,表示只要有可能就盡力避免交換進程移出物理內存;該參數=100,這告訴內核瘋狂的將數據移出物理內存移到swap緩存中。設置vm.swappiness=0 後並不代表禁用swap分區,只是告訴內核,能少用到swap分區就儘量少用到,設置vm.swappiness=100的話,則表示儘量使用swap分區。

    Swap配置對性能的影響
            分配太多的Swap空間會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。如果系統的物理內存用光了,系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那麼系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法啓動,通常會出現“application is out of memory”的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。
    通常情況下,Swap空間應大於或等於物理內存的大小,最小不應小於64M,通常Swap空間的大小應是物理內存的2-2.5倍。但根據不同的應用,應有不同的配置:如果是小的桌面系統,則只需要較小的Swap空間,而大的服務器系統則視情況不同需要不同大小的Swap空間。特別是數據庫服務器和Web服務器,隨着訪問量的增加,對Swap空間的要求也會增加,一般來說對於4G 以下的物理內存,配置2倍的swap,4G 以上配置1倍。
    另外,Swap分區的數量對性能也有很大的影響。因爲Swap交換的操作是磁盤IO的操作,如果有多個Swap交換區,Swap空間的分配會以輪流的方式操作於所有的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間處於等待狀態,效率很低。用性能監視工具就會發現,此時的CPU並不很忙,而系統卻慢。這說明,瓶頸在IO上,依靠提高CPU的速度是解決不了問題的。




    上一篇:linux下機器重啓命令?

    積分充值|網絡信息須知|BOB官方比赛資源網 ( 黔ICP備15016750號-8 ) Copyright©2016-2021 YSVIP All Rights Reserved.

    快速回復 返回頂部 返回列表