CentOS7内存清理脚本

使用CentOS系统时经常会发现内存占用特别高,尤其是Cache。

这里不多说为啥了,好多文章都有,下面直接贴内存清理的脚本:

#!/bin/bash

if [[ $1 = "--help" ]] || [[ $1 = "-h" ]]
then
    echo "This script is used to clean up used memory."
    echo "Execute 'sh freemem.sh' and clean up when free is less than 100."
    echo "Execute 'sh freemem.sh 300' and clean up when free is less than 300."
    exit 0
fi

used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`

echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log

minMem=100

if [ -n "$1" ]
then
    echo "The minimum value of incoming free is ${1}M"
    minMem=$1
else
    echo "The default minimum free value is ${minMem}M"
fi
 

if [ $free -le $minMem ] ; then
    sync && echo 1 > /proc/sys/vm/drop_caches
    sync && echo 2 > /proc/sys/vm/drop_caches
    sync && echo 3 > /proc/sys/vm/drop_caches
    echo "Clean up completed." >> /var/log/mem.log
else
    echo "No need to clean up." >> /var/log/mem.log
fi

运行示例:

 

 脚本对http://t.csdn.cn/XVJt3中做了修改

<think>好的,我现在需要帮助用户解决如何优化CentOS 7图形界面以减少内存占用的问题。首先,我要回忆一下之前提供的引用内容,看看有没有相关的信息可以利用。 根据引用[2],CentOS 7可能需要手动安装图形化界面,而引用[3]提到图形界面虽然用户友好,但可能会占用更多资源。用户现在的问题是如何降低内存使用,所以需要找到优化方法。 首先,我需要考虑图形界面本身的选择。默认情况下,CentOS可能使用GNOME,而GNOME相对资源占用较。可能推荐使用轻量级的桌面环境,比如Xfce或LXDE,这些在引用中没有提到,但根据我的知识,这是常见的优化方法。 接下来,用户可能还在使用GNOME,所以需要优化现有环境。关闭不必要的视觉效果和动画是一个方向,比如禁用GNOME的动画效果。引用[3]提到图形化工具可以管理这些设置,但具体如何操作可能需要进一步指导。 然后,减少开机启动程序。很多服务会在启动时自动运行,占用内存。使用systemctl命令或图形化工具来禁用不必要的服务,比如蓝牙、打印机服务等,这样可以释放内存。 调整窗口管理器的设置,比如使用Metacity代替Compositing,可能减少GPU的负担,从而减少内存使用。此外,限制桌面搜索索引功能,比如关闭tracker,这也是一个有效的步骤。 定期清理内存缓存和缓冲区,可以通过命令行脚本实现,虽然这是临时性的,但可以作为补充措施。另外,如果用户不需要图形界面,可以考虑完全卸载它,使用命令行界面,但这可能不符合用户的需求,因为引用[3]强调了图形界面的优点,如用户友好性。 最后,升级硬件虽然有效,但可能不是用户想要的解决方案,所以重点还是在软件优化上。需要确保所有步骤都符合CentOS 7的特定配置,避免引起系统不稳定。 可能还需要检查是否有内存泄漏的进程,使用top或htop命令监控内存使用情况,找出占用的进程并处理。此外,优化Swappiness参数,调整虚拟内存的使用,也可能有帮助。 综合这些方法,应该能有效降低图形界面的内存占用。需要将这些步骤结构化,用中文清晰解释,并确保每个步骤的安全性和可操作性,避免用户误操作导致系统问题。</think>### 优化CentOS 7图形界面内存占用的方法 #### 1. **选择轻量级桌面环境** - **默认GNOME的替代方案**:CentOS 7默认使用GNOME桌面,但其资源占用较。可替换为轻量级桌面环境如$Xfce$或$LXDE$[^2]。 - **安装方法**: ```bash sudo yum groupinstall "Xfce" # 安装Xfce sudo systemctl set-default graphical.target # 设置默认启动图形界面 ``` - 重启后通过登录界面选择新桌面环境。 #### 2. **优化GNOME配置(若需保留)** - **禁用视觉效果**: - 进入`设置` → `外观` → 关闭`窗口动画`和`透明效果`[^3]。 - **禁用扩展插件**: - 使用`gnome-tweaks`工具关闭不必要的扩展,减少后台进程。 #### 3. **减少后台服务与自启动程序** - **禁用非必要服务**: ```bash sudo systemctl disable bluetooth.service cups.service # 示例:蓝牙和打印服务 ``` - **管理自启动应用**: - 通过`gnome-session-properties`工具关闭图形界面下非关键的自启动程序。 #### 4. **调整窗口管理器** - **使用Metacity替代Compositor**: ```bash gsettings set org.gnome.metacity compositor-manager false # 禁用合成器 ``` - **降低分辨率与颜色深度**: - 通过`设置` → `显示`调整分辨率为更低值(如1600x900)。 #### 5. **限制桌面搜索索引** - **关闭Tracker文件索引**: ```bash systemctl --user mask tracker-store.service tracker-miner-fs.service # 禁用索引服务 ``` #### 6. **定期清理内存** - **手动释放缓存**(临时优化): ```bash echo 3 > /proc/sys/vm/drop_caches # 清理页面缓存、目录项和inode ``` - **配置定时任务**:通过`crontab -e`添加定期清理脚本。 #### 7. **完全卸载图形界面(极端情况)** - **仅保留命令行模式**: ```bash sudo systemctl set-default multi-user.target # 设置默认启动为命令行 sudo yum remove gnome-* # 卸载GNOME及相关包(谨慎操作!) ``` #### 8. **监控与诊断工具** - **实时查看内存占用**: ```bash top # 按内存排序(Shift+M) ``` - **分析进程树**: ```bash systemd-cgtop # 查看控制组资源占用 ``` --- ### 注意事项 - **兼容性验证**:部分操作可能依赖具体版本,建议先测试再应用。 - **备份配置**:修改系统服务或卸载组件前,备份关键数据。 - **权衡体验**:轻量级桌面可能牺牲部分视觉效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnywalkerGISer

加个鸡腿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值