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对脚本来说太短了,无法做到精确控制。
脚本的优点就是:不用编译;开发效率高(难度低,上手快);但能做的东西有限,很多操作需要调用外部工具来完成。
所以,根据要做的工作选取合适的工具,是很必要的。