shell腳本內存
㈠ 用shell腳本自動定時清除/釋放內存
linux系統buff/cache 中緩存數據佔用內存過高,定時清理buff/cache ,釋放系統內存
root許可權創建腳本文件:
cat clean_cache.sh
設置定時任務,每隔2小時運行一次:
crontab -e
0 */2 * * * sh /usr/local/bin/clean_cache.sh
㈡ 查看linux內存使用情況的shell腳本
在
linux
中,/proc/$PID/status
文件提供了該進程資源(內存,堆棧,信號量,子父進程)的使用情況,雖然linux提供了不少查看內存的命令,但都是看整體的使用情況,無法對單個進程的內存使用情況進行查看。
本文為大家提供的這個腳本,通過查看status文件中VmRSS的欄位來查看系統或進程使用的內存情況,有需要的朋友不妨參考下。
復制代碼:
#!
/bin/bash
echo
-n
PidName
>
/root/script/pid.f
echo
MeMery
>>
/root/script/pid.f
PIDPATH=/proc/
TOTLE=0
cd
$PIDPATH
DOC=`ls`
for
DOCNAME
in
$DOC
do
if
[
-d
$DOCNAME
];
then
cd
$DOCNAME
if
[
-f
status
];then
MEMERY=`grep
VmRSS
status
|
awk
-F':'
'{print
$2}'
|
awk
'{print
$1}'`
PIDNAME=`grep
Name
status
|
awk
-F':'
'{print
$2}'`
if
[
$MEMERY
];
then
echo
-n
$PIDNAME
>>
/root/script/pid.f
echo
-n
>>
/root/script/pid.f
echo
$MEMERY
>>
/root/script/pid.f
TOTLE=`expr
$TOTLE
+
$MEMERY`
cd
..
else
cd
..
fi
else
cd
..
fi
fi
done
TOTLE=`expr
$TOTLE
/
1024`
echo
TOTLE
USERD:
$TOTLE
MB
>>
/root/script/pid.f
cat
/root/script/pid.f
㈢ linux用shell命令怎樣清理系統緩存
可以使用以下命令清理系統垃圾
sudo apt-get autoclean 清理舊版本的軟體緩存
sudo apt-get clean 清理所有軟體緩存
sudo apt-get autoremove 刪除系統不再使用的孤立軟體
執行
sudo nautilus /boot
刪除除了最新內核以外的其它文件,(比如2006-08-17 官方內核是 26,那就可以刪除所有 23,25結尾的舊內核文件)
整理grub啟動菜單
sudo gedit /boot/grub/menu.lst
刪除除最新內核以外的其它啟動項(如23,25等)
---------------------------------
Ubuntu Linux與Windows系統不同,Ubuntu Linux不會產生無用垃圾文件,但是在升級緩存中,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 他不僅會產生大量的cache文件而且還會影響開機速度。所以在新得利裡面刪掉就行。
5,刪除多餘的內核:一定不要刪錯哦,切記!!
打開終端敲命令:dpkg --get-selections|grep linux
有image的就是內核文件
刪除老的內核文件:
sudo apt-get remove 內核文件名 (例如:linux-image-2.6.27-2-generic)
內核刪除,釋放空間了,應該能釋放130-140M空間。
最後不要忘了看看當前內核:uname -a
附錄:
包管理的臨時文件目錄:
包在
/var/cache/apt/archives
沒有下載完的在
/var/cache/apt/archives/partial
㈣ shell腳本中執行 read x 後,x立即分配內存嗎分配多少
不是立即分配的
輸入read x之後,按下回車鍵,shell會等待你輸入。只有在你輸入完成後,按下ctrl+D之後,shell才會重新回到命令提示符狀態
變數x的大小跟你輸入字元的多少有關
㈤ 在linux下,如何用shell控制一個進程的內存使用上限,以及運行時間上限
需求有點奇怪。
使用多少內存是可執行文件本身決定的,shell腳本只有等程序開始運行了再去檢查進程佔用內存大小,沒有辦法先行控制。
而且任何腳本語言的通病就是,執行效率低(相對於高級語言)。腳本是解釋執行的(如通過命令解釋器bash),本身語句執行就需要時間。1s對腳本來說太短了,無法做到精確控制。
腳本的優點就是:不用編譯;開發效率高(難度低,上手快);但能做的東西有限,很多操作需要調用外部工具來完成。
所以,根據要做的工作選取合適的工具,是很必要的。