最近幾天,zabbix伺服器效能監控一直報警mysql伺服器swap占用超過50%,對於mysql伺服器來說使用swap會嚴重影響資料庫效能。
通過free命令檢視記憶體使用情況,資訊如下:
total used free shared buffers cached
mem: 32880188 32628976 251212 644 286996 6747344
-/+ buffers/cache: 25594636 7285552
swap: 4095996 1963920 2132076
分析如下:
第一行:總記憶體32g,使用近32g,剩餘250m,shared644k(棄用),buffer280m,cached6.7g
第二行:實際占用記憶體25.5g,實際可用記憶體7.2g
第三行:swap總共4g,使用了近2g,剩餘2g。
buffer和cache的區別:
buffer是寫快取,cache是讀快取。
-/+ buffers/cache意義:
第一列的值=used-buffers-cached:表示實際記憶體被占用情況。
第二列的值=free+buffers+cached:表示系統可釋放的記憶體資源。
shell>echo 10 >
雲伺服器 設定swap
設定 10g的swap 位置 data swap dd if dev zero of data swap bs 1mb count 10240 設定swap為交換區 mkswap data swap 啟用 swapon data swap 檢視狀態 swapon s 檢視記憶體狀態 free m 開...
伺服器CPU被占用
8核cpu有4個被100 占用了,用系統top看不到是哪個程序占用,懷疑系統top命令已被修改,用stat檢查top檔案確認是被修改過,改用busybox命令來檢視程序資訊,發現異常程序,kill掉後cpu恢復正常。查詢程序資訊 top d1 查詢檔案路徑 輸出資訊從左至右分別為查詢的程式名 bas...
手動釋放伺服器中swap
根據linux 核心機制介紹,一般情況下不會用到swap交換分割槽,除非物理記憶體真的不夠用了,才會使用swap分割槽把物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到swap分割槽中,等到那些程式要執行時...