Linux系统中的内存清理和释放命令归纳?
# 清理步骤
# 清理前内存使用情况
代码如下:
free -m
# 开始清理
代码如下:
echo 1 /proc/sys/vm/drop_caches
# 清理后内存使用情况
代码如下:
free -m
完成!
复制代码
代码如下:
dmidecode | grep -A16 Memory Device$
To free pagecache:
echo 1 /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 /proc/sys/vm/drop_caches
sync
# 释放前最好sync一下,防止丢数据。因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。
如何限制linux所有进程可使用的总内存?
下面的shell脚本可以实时的监控系统中各个进程的CPU和内存的占用情况,用于限制进程CPU占用率更加合理。
#!/bin/shPIDS=`top -bn 1 | grep "^ *" | awk ’{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’`for PID in $PIDSdo renice +10 $PID echo "renice +10 $PID"done能够将这个脚本放到cron中运行,比如每分钟检查一次,只需以root身份添加crontab项:
#crontab-e*****limit.sh 以后每个一分钟就会检查一次,调整占用50%以上CPU或25%内存的进程的nice值,从而使这样的进程优先级变低,被调度的机会减少,同时会向root发邮件提示该进程被调整过。
但是,限制内存使用最好还是用PAM,RedHat能够在/etc/security/limits.conf中配置。
linux采用什么方法实现内存的分配和释放?
Linux 采用 Buddy 算法有效分配和释放物理页块。
linux系统内存管理的特点linux的进程结束后,它占用的资源全部释放,但是内存仅仅是设置了标志,标志了这部分内存已经不再使用,可以被重新分配的。当进程需要内存时,linux系统首先从空闲内存中查找分配,空闲内存不足时就会使用不再使用的内存;另外,如果你的程序又一次运行,系统直接使用内存中
的数据,不再从文件系统读组,提高了效率。这样一来,linux的系统使用律会很高,服务器的在98%以上;这样做的目的是:linux认为内存是最宝贵
的资源,充分利用,不能让他空闲
如何清理Linux服务器磁盘空间?
1、删除无用的安装包
在之前的Linux实验室中,笔者介绍过apt-get及其相似命令,而在apt-get命令中,有一项“autoremove”自动移除选项。
这个选项能够移除一些无用的自动安装包和库,也可以删除那些在系统升级中自动安装的就得Linux内核。
这是一个傻瓜式的命令,你随时都可以运行,以加大你的磁盘可用空间。
sudo apt-get autoremove
如你所见,这个命令能够释放我电脑中的300MB空间。
2、清空系统中的APT缓存
APT的全称是Advanced Package Tool,即高级软件包工具,他是一个成熟的软件包管理系统。Ubuntu使用APT在系统上进行软件的安装、管理和卸载,而在进行这些操作之后,APT会保留以前下载和安装过的软件包缓存。
APT会将DEB软件包缓存保存在/var/cache/apt/archives中,而随着时间的推移,这个缓存会变得越来越大,其中也会包含大量不需要的软件安装包。你可以通过一下这个命令来查看你的缓存大小:
sudo du -sh /var/cache/apt
正如你所见,APT在这个系统中一共有581MB的空间占用。当你已经没有空间可用时,500MB已经是一个非常有意义的空间了。
接下来你就有两种方法来清理这些缓存了,前一种由系统自动判断清除,而后一个命令行能够清空更大的空间。
sudo apt-get autocleansudo apt-get clean
2清缓存、卸软件、GUI辅助
3、清理thumbnail缓存
对于Linux为内核的大多数系统中(包括安卓),都会有thumbnail,可以直译为“缩略图”,也就是说Ubuntu会自动创建一个缩略图版本,并存储在文件管理器中。一般来讲, 这种缩略图存储在一个隐藏目录中,位于~/.cache/thumbnails。
当然,随着时间推移,缩略图的数量也将大大增加,里面的文件也会越来越大,如果要了解你的thumbnail的大小可以用这个命令来查看,可以看到该系统目前有380MB的缓存。
du -sh ~/.cache/thumbnails
然后你就可以在任何时间清理你的缓存了,最快速的方法就是终端上使用清理命令:
rm -rf ~/.cache/thumbnails/*
4、卸载不常用的软件
总有些软件我们一心潮澎湃就下载了,然而下载后半年都不用一次,对于这些极其占用电脑资源,有没有什么实际意义的软件,最好的办法就是卸载了吧。
如果你需要卸载这些使用频率很低的软件,并且知道这个软件的名字的话,可以使用下面的命令进行卸载。
sudo apt-get remove package-name1 package-name2
5、通过GUI清理Ubuntu空间
以上几种方法可以说都是用命令行的方式去清理磁盘空间的,可能有些人并不习惯这么做,毕竟你需要记住所有命令,在一个接一个的使用它们,所以这里给大家推荐一种通过GUI来清理内存空间的方法。
比如Stacer就是这样一个工具,它可以展示你系统中的内存、CPU等各种部件状态信息,当然还有很多其他类似的工具,等着你不断去发掘。