Ubuntu下如何清理記憶體
ubuntu的圖形介面用的是gnome,我發現ubunut用gnome老是死,如果工作八個小時,要死二,三次搞得我很鬱悶。家裡的centos用的也是gnome,就不會死,並且家裡電腦記憶體還小。
- root@ubuntu:/home/zhangying# free -m
- total used free shared buffers cached
- Mem: 3449 2123 1325 0 576 777
- -/+ buffers/cache: 769 2680
- Swap: 254 0 254
被buffers,cached等佔去的記憶體,釋放的很慢,導致可用記憶體不夠用。公司電腦的記憶體可是3.5G啊,這都不夠它佔的,真是無語。
解決方法:
1,vim free.sh建個指令碼
- free -m |grep -i mem |awk '{if($4 < 300){ printf("3") > "/proc/sys/vm/drop_caches"}}';
printf("3") > 可改為echo 3 >
簡單解釋一下,檢視一下記憶體使用情況,找到記憶體所在行。判斷可用記憶體大小,如果小於300M,就釋放記憶體。drop_caches檔案中就一個0,這裡為什麼要寫入一個3呢?官方解釋如下:
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
2,加到crontab中去
crontab 對守護程式負責,守護程式按照crontab內容週期性的做指定操作
sudo su
crontab -e
- */05 * * * * /home/zhangying/free.sh
- */01 * * * * /home/china/webroot/free.sh
注意:
1,crontab要以root的許可權去執行,普通使用者是沒有drop_caches寫的許可權的。
2,根據系統的不同,*/05 * * * * /home/zhangying/free.sh,每隔5分鐘執行一次,有的寫法是*/5 * * * * /home/zhangying/free.sh,這種方式在ubuntu10.10下,我試了不行。
#這裡注意,直接開啟etc下的crontab修改就可以,格式按照檔案中給出的樣式就行
2. Linux的記憶體分配方式
大家都知道,Linux伺服器為了提高效率,會提前申請記憶體,即使這些記憶體沒有被具體應用使用,Linux也會提前申請這些記憶體,然後利用這些記憶體做快取用,即將剛開啟的檔案系統存入cache中,這樣對應的伺服器free值會越來越少,buffers和cached會越來越大,因此給大家表象就是記憶體越來越少了,大家就緊張了;其實,大家完全不用緊張,Linux伺服器在發現記憶體不足時,會自動清理cached區域,釋放記憶體,然後繼續增大cache,free繼續減少。因此,那樣手動降低記憶體使用率的方法,其實就是圖一時之快,呵呵。
相關文章
- Go:記憶體管理與記憶體清理Go記憶體
- Linux下清理記憶體和Cache方法Linux記憶體
- 清理linux記憶體Linux記憶體
- Redis4.0如何自動清理記憶體碎片Redis記憶體
- windows 備用記憶體清理Windows記憶體
- windows記憶體清理工具Windows記憶體
- Ubuntu記憶體分析Ubuntu記憶體
- win10怎麼清理記憶體_windows10系統清理記憶體教程Win10記憶體Windows
- 【精選】Mac 手動記憶體清理教程Mac記憶體
- 如何設定電腦關機自動清理虛擬記憶體記憶體
- Linux下清理記憶體和Cache方法 /proc/sys/vm/drop_cachesLinux記憶體
- 雲原生背景下如何配置 JVM 記憶體JVM記憶體
- Linux下如何釋放cache記憶體Linux記憶體
- 頂配6GB記憶體,安卓手機清理記憶體還有必要嗎?記憶體安卓
- iOS 除SDWebImage之外清理記憶體中快取iOSWeb記憶體快取
- Memory Cleaner for Mac一鍵記憶體清理工具Mac記憶體
- Ghost Buster Pro for mac(Mac記憶體清理工具)Mac記憶體
- 紅米手機怎麼清理手機記憶體?記憶體
- Ubuntu 新增虛擬記憶體檔案Ubuntu記憶體
- 蘋果手機使用技巧:怎麼清理iPhone記憶體?蘋果iPhone記憶體
- 如何在vs下linux下檢測記憶體洩露Linux記憶體洩露
- 如何在 Linux 下檢測記憶體洩漏Linux記憶體
- windows下提示虛擬記憶體不足如何解決?Windows記憶體
- Windows 8系統下如何修改虛擬記憶體Windows記憶體
- Ubuntu.24軟體包的清理Ubuntu
- AIX下程式記憶體分析AI記憶體
- MongoDB 如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- MongoDB如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- 7.6下午筆記(記憶體)筆記記憶體
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- 【伺服器】Ubuntu虛擬記憶體設定伺服器Ubuntu記憶體
- 在這種情況下如何節約記憶體使用?記憶體
- 來了解一下記憶體溢位和記憶體洩漏記憶體溢位
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- 如何避免JavaScript的記憶體洩露及記憶體管理技巧JavaScript記憶體洩露
- Win10記憶體佔用過多怎麼辦 win10清理記憶體佔用的方法Win10記憶體
- win10如何設定自動釋放記憶體_win10怎麼設定自動清理系統垃圾釋放記憶體Win10記憶體