使用top或htop工具实时查看系统进程的资源占用情况,是解决CPU过高的第一步。
top后,默认按CPU使用率排序(可通过P键确认),重点关注%CPU(CPU占用率)、PID(进程ID)、COMMAND(进程名称)列。按Shift+H可展开线程级别,查看具体线程的CPU占用。sudo apt-get install htop安装,启动后界面包含CPU核心利用率条形图、内存使用情况、进程列表(支持彩色高亮)。按F6键可选择按CPU、内存排序,按H键显示线程信息。若确认某进程为非必要进程(如恶意程序、无响应的应用),可通过以下命令终止:
top或htop中查看目标进程的PID。kill PID(发送SIGTERM信号,允许进程正常退出);kill -9 PID(发送SIGKILL信号,立即终止进程,可能导致数据丢失,仅用于无法正常退出的情况)。若高CPU占用进程是系统服务(如nginx、mysql)或已知应用,可通过优化其配置减少资源消耗:
nice/renice命令降低非关键进程的优先级,减少其对CPU的占用。例如,将PID为1234的进程nice值设为10(范围-20~19,数值越大优先级越低):sudo renice 10 -p 1234。nginx的worker_processes(设置为CPU核心数)、mysql的innodb_buffer_pool_size(优化内存使用),减少不必要的计算。通过ulimit或cgroups限制进程的CPU、内存使用,防止单个进程耗尽系统资源:
ulimit -t 10;限制打开文件数为1024:ulimit -n 1024。systemd创建cgroup,例如限制nginx服务的CPU使用不超过50%:sudo systemctl set-property nginx.service CPUQuota=50%
sudo systemctl daemon-reload
```。
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 永久生效:将`/swapfile none swap sw 0 0`添加到`/etc/fstab`
```。
清理无用文件可释放磁盘空间和内存,间接提升系统性能:
sudo apt-get clean(删除下载的软件包文件);sudo apt-get autoremove(删除不再需要的依赖项);sudo rm -rf /tmp/* /var/tmp/*(删除临时目录下的文件)。htop、vmstat(查看虚拟内存、CPU使用)、iostat(查看磁盘I/O)等工具定期监控系统资源,及时发现问题。cron定时任务或监控工具(如Zabbix、Prometheus),当CPU使用率超过阈值(如80%)时发送告警。sudo apt-get update && sudo apt-get upgrade,修复系统漏洞和软件bug,提升性能。