故障排查 記憶體使用率過高

2021-09-12 07:51:28 字數 788 閱讀 1201

本篇將介紹伺服器記憶體使用率過高的處理方案。

記憶體方面主要關注兩個問題,第一:物理記憶體夠不夠用;第二:有沒有記憶體洩露。

在linux系統中,freetopvmstat等命令都會有系統記憶體使用率的輸出:

程序占用 過多

執行時間太久

被植入異常木馬

記憶體洩漏

檢視記憶體佔用率top10的程序:

ps aux| grep -v "user" |sort -n -r -k 4 | awk '' | head -n 10或者使用top命令檢視,top -c,然後按m。

如果程序都正常的話,可以考慮重啟部分應用,如果有異常程序,考慮是否被植入木馬,找到對應的程序指令碼,kill掉即可。

如果cache太多,共享記憶體不足,可以在不重啟機器的情況下釋放快取:

root@iz2zeic9ggky8lb31din1gz:~# sync

root@iz2zeic9ggky8lb31din1gz:~# echo 3> /proc/sys/vm/drop_caches

我們在觀察linux的記憶體使用情況時,只要沒發現用swap的交換空間,就不用擔心自己的記憶體太少。如果常常看到swap用了很多,那麼你就要考慮加物理記憶體了。這也是在linux伺服器上看記憶體是否夠用的標準。

mongodb記憶體使用率過高問題排查

1.在生產環境中,若不限制moongo對記憶體的使用,會導致mongo集群記憶體使用率飆公升。2.物理記憶體和虛擬記憶體區別 物理記憶體和虛擬記憶體 物理記憶體 真正的記憶體 虛擬記憶體 磁碟空間虛擬出的記憶體 3.記憶體飆公升的解決方法 通過設定 config,shard cachesize的大小...

頻繁讀寫檔案導致記憶體使用率過高

最近接到乙個客戶反饋,說是伺服器記憶體使用過高,總記憶體16g,使用top命令檢視可用記憶體已經不足1g了。客戶環境伺服器為linux,部署了3個tomcat,每個tomcat均有大量的日誌產生。讓客戶使用free m檢查一下 此處有必要解釋一下free命令返回的各個引數的意思 直接轉了 解釋 可用...

Redis 記憶體使用率

1 redis cli命令列介面訪問到redis伺服器 2 輸入info memory命令,返回與記憶體相關的資料。used memory 由 redis 分配器分配的記憶體總量,包含了redis程序內部的開銷和資料占用的記憶體,以位元組 byte 為單位 used memory human 已更直...