檢視記憶體使用率
free -m | sed -n '2p' | awk ''
清理記憶體
sync
echo 1 > /proc/sys/vm/drop_caches
------------------
要達到釋放快取的目的,我們首先需要了解下關鍵的配置檔案/proc/sys/vm/drop_caches。這個檔案中記錄了快取釋放的引數,預設值為0,也就是不釋放快取。他的值可以為0~3之間的任意數字,代表著不同的含義:
0 – 不釋放
1 – 釋放頁快取
2 – 釋放dentries和inodes
3 – 釋放所有快取
---------------------
自動指令碼
#!/bin/bash
#系統分配的區總量
mem_total=`free -m | awk 'nr==2' | awk ''`
#當前剩餘的大小
mem_free=`free -m | awk 'nr==3' | awk ''`
#當前已使用的used大小
mem_used=`free -m | grep mem | awk ''`
if (($mem_used != 0)); then
#如果已被使用,則計算當前剩餘free所佔總量的百分比,用小數來表示,要在小數點前面補乙個整數字0
mem_per=0`echo "scale=2;$mem_free/$mem_total" | bc`
data="$(date -d "today" +"%y-%m-%d-%h-%m") free percent is : $mem_per"
echo $data >> /var/log/mem_detect.log
#設定的告警值為20%(即使用超過80%的時候告警)。
mem_warn=0.20
#當前剩餘百分比與告警值進行比較(當大於告警值(即剩餘20%以上)時會返回1,小於(即剩餘不足20%)時會返回0 )
mem_now=`expr $mem_per \> $mem_warn`
#如果當前使用超過80%(即剩餘小於20%,上面的返回值等於0),釋放記憶體
if (($mem_now == 0)); then
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
#將release memory ok !寫入temp資料夾的memstat_日期.log日誌中
echo "--->release memory ok ! " >>temp/memstat_$(date +%y%m%d_%h%m%s).log fi
fi
Linux 清理快取
1.free m 命令可以檢視記憶體使用情況 2.sync 因為系統在操作的過程當中,會把你的操作到的檔案資料先儲存到buffer中去,因為怕你在操作的過程中因為斷電等原因遺失資料,所以在你操作過程中會把檔案資料先快取。3.echo 3 proc sys vm drop caches 是清理所有快取...
ElasticSearch定時清理快取索引
1.背景 由於es的日誌索引每天都在增長,很快快取就吃不消了,需要定期清理一下過期不用的索引,在此使用定期刪除索引的方法 2.指令碼 delete es indices over 15 day.sh bin bash 刪除早於15天的es集群的索引 function delete indices 擷...
linux清理記憶體 快取
linux下清理快取,以釋放記憶體 系統環境 cent os 5.4 x64 今天檢視開發使用的機器,記憶體使用了11g,絕大部門都是被快取了,根據linux記憶體可使用的計算方法 可用記憶體 free buffers cached,那麼這台伺服器可用記憶體約為10.7g,swap占用非常 明目前物...