1.主要問題:輸入top泵喘,看到buff/cache占用內(nèi)存太大
1.1 buffer和cache產(chǎn)生的原因
當(dāng)你的服務(wù)進(jìn)程在對文件進(jìn)行讀寫的時(shí)候尝哆,Linux內(nèi)核為了提高服務(wù)的讀寫速度,則將會把文件放在此處的 buffer/cache 中進(jìn)行緩存使用销部,
由于 Linux服務(wù)的特點(diǎn)便是任何事物都會以文件的形式進(jìn)行存在喘沿,所以你會發(fā)現(xiàn)不管你是否對文件做了大規(guī)模的讀寫医瘫,
機(jī)器的 buffer/cache 是一直都存在的,并且持續(xù)的增高不下洪规,這是因?yàn)榉?wù)器所產(chǎn)生的網(wǎng)絡(luò)連接也好印屁,
用戶協(xié)議的(UDP)套接字也好,這部分的數(shù)據(jù)系統(tǒng)都會為應(yīng)用程序創(chuàng)建對應(yīng)的文件描述符斩例,
而這些文件描述符的使用雄人,則又都會重新進(jìn)入 buffer/cache 中做讀寫使用,所以這也是你的機(jī)器始終都會存在較高 buffer/cache 的原因
2.輸入清理代碼念赶,將這里緩存的東東寫到磁盤:
echo "1" > /proc/sys/vm/drop_caches
echo "2" > /proc/sys/vm/drop_caches
echo "3" > /proc/sys/vm/drop_caches