linux自動記憶體清理

2021-08-10 08:10:55 字數 869 閱讀 6362

因為伺服器的記憶體本來就小,只有512m.所以定期清理一下記憶體就很有必要了。

下邊是記憶體清理命令,把這個寫到乙個linux shell的free.sh檔案中。要清理時執行一下就可以了。

#!/bin/bash

free -m

sync

echo

1 >

/proc/sys/vm/drop_caches

echo

2 >

/proc/sys/vm/drop_caches

echo

3 >

/proc/sys/vm/drop_caches

free

-m對於想要自動清理記憶體的,可以寫乙個python指令碼,使用後台執行這個指令碼,定時呼叫上邊的清理記憶體shell就可以了。

#!/usr/bin/env

python

# -*- coding: utf-8 -*-

importtime

importos

whiletrue:

time.sleep(10) #3小時=10800秒

tmp = os.popen('

shfreem.sh').readlines()

for s in tmp:

print s

上邊的是python呼叫系統命令的free.py檔案,把這個檔案和清理shell檔案放在同乙個目錄。然後後台執行這個python指令碼就可以了,上邊的**會每3小時清理一次記憶體,清理後的結果會輸出到標準輸出。

後台執行指令碼的方法:

nohup python free.py >log.txt 2>&1 &

終端中執行上邊的命令會在後台執行free.py同時把輸出結果儲存在log.txt中。

Linux記憶體清理

第一類單位引數 1 b,bytes,以byte為單位顯示記憶體使用情況 2 k,kilo,以kb為單位,這也是預設值 3 m,mega,以mb為單位顯示內容使用情況 4 g,giga,以gb為單位顯示記憶體使用情況 第二類引數 1 h,human,自動將數值轉換為人類易讀形式 2 c,count,展...

Linux 記憶體清理

1.clear pagecache only.sync echo 1 proc sys vm drop caches 2.clear dentries and inodes.sync echo 2 proc sys vm drop caches 3.clear pagecache,dentries ...

清理linux記憶體cache

1.top中的buffers和cached cached快取了對檔案的讀寫,buffers快取了inode,dentry等檔案系統metadata。顯然,metadata大小遠遠小於檔案記憶體,所以buffers一般也遠小於cached。cached的部分叫page cache,buffers的部分...