温馨提示×

如何优化ubuntu进程

小樊
50
2026-10-09 17:58:35
栏目: 智能运维

在 Ubuntu 中“优化进程”通常可以从系统资源占用、进程调度、启动管理、性能监控和内核参数几个层面来做。下面按实用程度分类说明。


一、先搞清楚:哪些进程在耗资源

1. 实时查看

top
htop        # 推荐,需安装:sudo apt install htop
btop        # 更现代

重点看:

  • %CPU
  • %MEM
  • 进程状态(D = 卡 IO,Z = 僵尸)

2. 按服务维度看

systemd-cgtop

二、减少不必要的进程(最有效)

1. 关闭开机自启服务

systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable 服务名
sudo systemctl stop 服务名

常见可关:

  • bluetooth(无蓝牙)
  • cups(无打印机)
  • avahi-daemon

2. 精简桌面环境(服务器更明显)

  • 用 Ubuntu Server 而非 Desktop
  • 或用轻量桌面:XFCE / LXQt

三、优化进程调度与优先级

1. 调整进程优先级(nice)

nice -n 10 ./program
renice -n 5 -p PID
  • -20 最高优先级
  • 19 最低

2. 实时调度(谨慎)

chrt -f 50 ./program

适合音视频 / 低延迟场景。


四、限制进程资源(防止拖垮系统)

1. systemd 限制

[Service]
MemoryMax=512M
CPUQuota=50%

2. cgroups / ulimit

ulimit -u 1000   # 最大进程数

五、内核 & 系统级优化

1. 调整 swappiness

cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10

写入:

/etc/sysctl.conf
vm.swappiness=10

2. 禁用无用内核模块

lsmod
sudo modprobe -r 模块名

六、服务器 / 高并发场景

  • 使用 performance CPU 模式
sudo cpufreq-set -g performance
  • 调整 ulimit -n(文件描述符)
  • 使用 irqbalance
  • 避免僵尸进程(代码层修复)

七、常见性能问题速查

现象 可能原因
CPU 高 死循环 / 加密 / 编译
内存涨 内存泄漏
负载高但 CPU 低 IO 阻塞
进程很多 fork 炸弹 / 服务异常

如果你能告诉我:

  • 是 桌面还是服务器
  • 主要跑什么(Docker / 数据库 / Web / AI)
  • 当前瓶颈(CPU / 内存 / IO)

我可以给你更针对性的优化方案。

0 踩