Linux是一个强大而高效的操作系统,但是在运行服务器、工作站或嵌入式系统时,RAM和CPU高负载使用率会降低系统性能、减慢应用程序速度,甚至导致系统崩溃,因此优化资源使用对于平稳系统运行至关重要。
在本指南中,小编将介绍一些降低Linux系统RAM和CPU使用率的实用方法,主要包括监控工具、进程管理、内核调整和系统优化技术,从而保持系统高效运行。
1、识别耗费资源的流程
减少Linux系统RAM和CPU使用率的第一步是利用几个命令行工具来确定哪些进程消耗了最多的资源,比较常见的工具如下所述。
a.使用top命令
top命令提供系统进程的实时视图,包括CPU和内存使用情况,命令如下:
top
- 按
P
可按照CPU使用率对进程进行排序 - 按
M
可按照内存使用情况对进程进行排序 - 查找消耗过多资源的进程并记下其进程ID(PID)
b. 使用htop命令
htop是一个交互式进程查看器,它提供了比top
更用户友好的界面。要在Linux系统中安装htop,请使用适合特定Linux发行版的以下命令进行安装:
sudo apt install htop [Debian、Ubuntu和Mint] sudo dnf install htop [RHEL/CentOS/Fedora和Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [Gentoo Linux] sudo apk add htop [Alpine Linux] sudo pacman -S htop [Arch Linux] sudo zypper install htop [OpenSUSE] sudo pkg install htop [FreeBSD]
运行htop
即可轻松查看和管理进程:
htop
- 按
F6
可安装CPU或内存使用情况对进程进行排序。 - 按
F9
即可终止选定的进程。
c.使用ps命令
ps命令可用于列出进程及其资源使用情况:
ps aux --sort=-%mem | head # 占用RAM最多的进程 ps aux --sort=-%cpu | head # 占用CPU最多的进程
2、终止不必要的进程
一旦确定了占用大量资源的进程,那么你就可以使用kill命令后跟PID来终止它们以释放资源,命令如下:
kill PID
如果进程没有终止,请使用-9
参数强制终止它:
kill -9 PID
或者,使用pkill命令按名称终止进程:
pkill process_name
3、优化启动应用程序
同Windows系统一样,在Linu系统中,也有许多应用程序和服务在启动时自动启动,这样会消耗宝贵的系统资源。所以,可以管理启动应用程序,从而优化系统性能。
a. 使用systemctl命令
使用systemctl 命令列出所有启用的服务,命令如下:
systemctl list-unit-files --type=service | grep enabled
这样可以禁用不必要的服务:
sudo systemctl disable service_name
b.使用GUI工具
如果使用GNOME或KDE等桌面环境,那么使用内置的启动应用程序管理器禁用不必要的程序。
4、减少Swappiness(优化Swap使用)
Swappiness控制系统使用交换空间而非RAM的频率。较高的swappiness值可能导致过度交换,从而拖慢系统速度。
要检查当前的swappiness值,输入以下命令:
cat /proc/sys/vm/swappiness
默认值通常是60
,但是为了减少交换,需要编辑/etc/sysctl.conf
配置文件:
sudo nano /etc/sysctl.conf
添加或修改以下行:
vm.swappiness=10
保存文件并应用更改:
sudo sysctl -p
5、使用轻量级桌面替代品
繁重的桌面环境和应用程序可能会给系统资源带来压力,因此请考虑切换到轻量级的替代方案。
a. 桌面环境
使用更轻量的选项(例如XFCE、LXDE或MATE)替换GNOME或KDE。
b. 应用程序
使用轻量级应用程序,例如:
- 文本编辑器:用AbiWord或Mousepad替换LibreOffice
- 网络浏览器:使用扩展较少的Firefox或切换到Midori等轻量级浏览器
- 文件管理器:用Thunar或PCManFM替换Nautilus
6、清除缓存和缓冲区
Linux使用RAM来缓存文件并提高性能。但是,你也可以根据需要手动清除缓存:
sudo sync; sudo sysctl -w vm.drop_caches=3
此命令清除页面缓存(pagecache)、目录项缓存(dentries)和索引节点缓存(inodes)。请谨慎使用,因为它可能会暂时减慢文件访问速度。
7、优化内核参数
要调整或优化内核参数,需要编辑/etc/sysctl.conf
文件并添加以下内容或调整参数以提高系统性能:
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
这些设置控制将脏数据写入磁盘的频率,从而减少RAM的使用。
8、使用ZRAM减少内存使用量
Zram和Zswap是可以减少RAM使用量的压缩内存技术,安装命令如下:
sudo apt install zram-config sudo systemctl start zram-config
安装后,需要编辑GRUB配置文件(/etc/default/grub
)并添加以下行:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
更新GRUB并重新启动:
sudo update-grub sudo reboot
9、限制进程的CPU使用率
如果某个进程占用了CPU,可以使用cpulimit限制其使用量:
sudo apt install cpulimit #Debian/Ubuntu系统 sudo yum install cpulimit #RHEL/CentOS系统
将某个进程(例如Firefox)的CPU使用率限制为30%:
sudo cpulimit -e firefox -l 30
要永久限制某个进程,请使用systemd:
sudo systemctl set-property <service_name> CPUQuota=30%
10、定期更新系统
保持系统更新可确保你获得最新的性能改进和错误修复:
sudo apt update && sudo apt upgrade #Debian/Ubuntu系统 sudo yum update #CentOS/RHEL系统
故障排除提示
- 如果某个进程没有以
kill
终止,则使用kill -9 PID
强制终止它。 - 如果
zram
或zswap
不起作用,请确保系统内核支持这些功能。 - 如果系统性能没有改善,请考虑升级硬件(例如扩增更多RAM或切换到SSD/NMVe)。
结论
在Linux系统中优化RAM和CPU使用是一个结合了监控、调整和偶尔升级硬件的过程。通过识别占用资源较多的进程、调整系统设置并选择轻量级的替代方案,可以为Linux系统注入新的活力。
总的来说,优化Linux系统系统减少RAM和CPU使用率的关键在于识别资源占用高的进程、调整系统设置并选择轻量级的替代方案。