今天發現跑深度學習程式時,伺服器會很卡並直接掉線,要過很久才能重新連線。最開始以為是gpu的問題,但是上週在跑同樣batch的資料時沒有遇到問題,與朋友討論後認為是cpu記憶體爆掉了的原因。以下是完整的修復過程
free -h 檢視記憶體和快取
watch free -h 實時檢視記憶體和快取
發現不跑程式的時候,占用達到了71g
最開始認為可能是系統之前執行程式留下的快取檔案,所以使用清理快取的方法。
sudo -s # 進入到管理員模式
sync # 在清理快取先要先把buffe中的資料先寫入到硬碟中
echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之間的數字,代表不同的含義:
0:不釋放(系統預設值)
1:釋放頁快取
2:釋放dentries和inodes
清理後發現只多了3個g的可用記憶體,考慮清理不需要的程序。
使用top指令檢視系統狀態
(這是事後在os系統的截圖,僅展示指令效果)
按 m 將程序按記憶體佔用率進行排序
檢視memory一列,發現有很多莫名的python指令正在執行
使用
ps auxw|head -1;
ps auxw|
sort
-rn -k4|head -20
檢視佔用率最多的20個程序,如下圖
可以發現,有很多vscode-server的擴充套件程式占用了非常多的記憶體。分析原因是使用vscode遠端連線伺服器跑程式後,每次占用的記憶體並沒有被釋放
使用 kill -9 job-id 關閉這些程序
再次用free -h檢查記憶體,有90g可用,清理成功。
記憶體和快取的區別
許多人認為,快取 是記憶體的一部分 許多技術文章都是這樣教授的 但是還是有很多人不知道快取在什麼地方,快取是做什麼用的 其實,快取是cpu的一部分,它存在於cpu中 cpu訪問資料的速度非常的快,一秒鐘能夠訪問 處理十億條指令和資料 術語 cpu主頻1g 而記憶體就慢很多,快的記憶體能夠達到幾十兆就...
記憶體和快取的區別
今天看書的時候又看到了記憶體和快取,之所以說又,是因為之前遇到過查過資料,但是現在又忘了 圖侵刪 所以又複習一遍,記錄一下,有所紕漏的地方,歡迎指正。同志們,上圖並不是記憶體和快取中的任何乙個,那有的小夥伴會問了,啥也不是,你怎麼強行發圖,別急,慢慢道來。上圖是 處理器即cpu的,一般來說快取都是整...
Nginx伺服器的壓縮功能和快取功能
在nginx伺服器配置檔案中可以通過配置gzip的使用,可以配置在http塊,server 塊或者location塊中設定,nginx伺服器可以通過ngx http gzip module模組 ngx http static module 模組功能ngx http gunzip module模組對這...