看緩存的命令
創(chuàng)新互聯(lián)公司客戶idc服務(wù)中心,提供綿陽電信機房、成都服務(wù)器、成都主機托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務(wù),資深網(wǎng)絡(luò)工程師在機房提供7*24小時標準級技術(shù)保障。
free -m
清理緩存的命令
echo 1 /proc/sys/vm/drop_caches
echo 2 /proc/sys/vm/drop_caches
echo 3 /proc/sys/vm/drop_caches
echo 0 是不釋放緩存
echo 1 是釋放頁緩存 《Linux就該這么學(xué)》
ehco 2 是釋放dentries和inodes緩存
echo 3 是釋放 1 和 2 中說道的的所有緩存
可以使用以下命令清理系統(tǒng)垃圾
sudo apt-get autoclean 清理舊版本的軟件緩存
sudo apt-get clean 清理所有軟件緩存
sudo apt-get autoremove 刪除系統(tǒng)不再使用的孤立軟件
執(zhí)行
sudo nautilus /boot
刪除除了最新內(nèi)核以外的其它文件,(比如2006-08-17 官方內(nèi)核是 26,那就可以刪除所有 23,25結(jié)尾的舊內(nèi)核文件)
整理grub啟動菜單
sudo gedit /boot/grub/menu.lst
刪除除最新內(nèi)核以外的其它啟動項(如23,25等)
---------------------------------
Ubuntu Linux與Windows系統(tǒng)不同,Ubuntu Linux不會產(chǎn)生無用垃圾文件,但是在升級緩存中,Ubuntu Linux不會自動刪除這些文件,今天就來說說這些垃圾文件清理方法。
1,非常有用的清理命令:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
這三個命令主要清理升級緩存以及無用包的。
2,清理opera/ firefox的緩存文件:
ls ~/.opera/cache4
ls ~/.mozilla/firefox/*.default/Cache
3,清理Linux下孤立的包:
圖形界面下我們可以用:gtkorphan
sudo apt-get install gtkorphan -y
終端命令下我們可以用:deborphan
sudo apt-get install deborphan -y
4,卸載:tracker
這個東西一般我只要安裝Ubuntu就會第一刪掉tracker 他不僅會產(chǎn)生大量的cache文件而且還會影響開機速度。所以在新得利里面刪掉就行。
5,刪除多余的內(nèi)核:一定不要刪錯哦,切記??!
打開終端敲命令:dpkg --get-selections|grep linux
有image的就是內(nèi)核文件
刪除老的內(nèi)核文件:
sudo apt-get remove 內(nèi)核文件名 (例如:linux-image-2.6.27-2-generic)
內(nèi)核刪除,釋放空間了,應(yīng)該能釋放130-140M空間。
最后不要忘了看看當前內(nèi)核:uname -a
附錄:
包管理的臨時文件目錄:
包在
/var/cache/apt/archives
沒有下載完的在
/var/cache/apt/archives/partial
tcflush函數(shù)清除串口輸入緩存(終端驅(qū)動已接到,但用戶尚未讀取)或串口輸出緩存(用戶已經(jīng)寫如緩存,但尚未發(fā)送)。
函數(shù)原型:
int tcflush(int filedes,int quene)
參數(shù)解釋
filedes: 描述符。
quene取值及含義:
*TCIFLUSH 清除輸入隊列
*TCOFLUSH 清除輸出隊列
*TCIOFLUSH 清除輸入、輸出隊列
舉例:tcflush(fd,TCIOFLUSH);
第一步:先執(zhí)行sync命令
#sync
sync命令用于強制被改變的內(nèi)容立刻寫入磁盤,更新超塊信息,以防止釋放,sync命令則可用來強制將內(nèi)存緩沖區(qū)中的數(shù)據(jù)立即寫入磁盤中。
第二步:清理linux內(nèi)存緩存
#echo 3 /proc/sys/vm/drop_caches
一般系統(tǒng)是不會自動釋放內(nèi)存的
關(guān)鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數(shù),默認值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數(shù)字,代表著不同的含義:
0 – 不釋放
1 – 釋放頁緩存
2 – 釋放dentries和inodes
3 – 釋放所有緩存
此指令輸入立即生效,意在釋放所有緩存。
第三步:關(guān)閉swap,再開啟swap
(如果只是清理swap,第二部可以不用進行操作,因為操作了第二步關(guān)閉swap時會使用更長的時間)
#swapoff -a? 這一步因為是后臺 在一點一點的釋放,如果配置的swap超大,這里就等待得超久一些
#swapon -a? 再開啟
linux什么時候開始使用虛擬內(nèi)存(swap)
A.[root@wenwen ~]# cat /proc/sys/vm/swappiness
60
上面這個60代表物理內(nèi)存在使用60%的時候才會使用swap
swappiness=0的時候表示最大限度使用物理內(nèi)存,然后才是 swap空間,
swappiness=100的時候表示積極的使用swap分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時的搬運到swap空間里面。
通常情況下:
swap分區(qū)設(shè)置建議是內(nèi)存的兩倍 (內(nèi)存小于等于4G時),如果內(nèi)存大于4G,swap只要比內(nèi)存大就行。另外盡量的將swappiness調(diào)低,這樣系統(tǒng)的性能會更好。
B.修改swappiness參數(shù)
臨時性修改:
[root@wenwen ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@wenwen ~]# cat /proc/sys/vm/swappiness? ? ? ? ? ? ? ?
10
永久性修改:
[root@wenwen ~]# vim /etc/sysctl.conf
加入?yún)?shù):
vm.swappiness = 35
然后在直接:
[root@wenwen ~]# sysctl -p
查看是否生效:
cat /proc/sys/vm/swappiness
35
1 先寫一個腳本存為一個文件,比如 clearmem.sh
#!/bin/bash
sync
echo 3 /proc/sys/vm/drop_caches
2 然后給這個腳本加一個可執(zhí)行權(quán)限
chmod +x chearmem.sh
3 先試試運行一下看看內(nèi)存釋放沒有,free -m
sh clearmem.sh
free -m
4 最后創(chuàng)建一個計劃任務(wù)
crontab -e
加如下內(nèi)容,比如每天1點清理一次
00 1 * * * sh /xxx/路徑/clearmem.sh
#清理Linux系統(tǒng)緩存
1
[root@oracle ~]# echo 1 /proc/sys/vm/drop_caches
注:1. /proc是一個虛擬文件系統(tǒng),可以通過對它的讀寫操作作為與kernel實體間進行通信的一種手段。也就是說可以通過修改/proc中的文件,來對當前kernel的行為做出調(diào)整。也就是說我們可以通過調(diào)整/proc/sys/vm/drop_caches來釋放內(nèi)存。
0 – 不釋放
1 – 釋放頁緩存
2 – 釋放文件節(jié)點緩存和目錄項緩存
3 – 釋放所有緩存
1
2
3
4
5
6
7
[root@oracle ~]# sysctl -p
#查看剩余內(nèi)存
[root@oracle ~]# free -m
total used free shared buffers cached
Mem: 3383 1952 1431 0 1 1136
-/+ buffers/cache: 814 2568
Swap: 1983 195 1788