温馨提示×

ubuntu进程怎样优化

小樊
42
2026-10-06 18:58:47
栏目: 智能运维

在 Ubuntu(或其他 Linux 系统)上“优化进程”通常可以从系统层面、进程层面、资源调度、内核参数几个角度来做。下面按实用程度分类说明。


一、查看进程与资源占用(先诊断)

1. 查看进程

top
htop        # 推荐,需安装:sudo apt install htop
ps aux

2. 查看资源瓶颈

free -h          # 内存
df -h            # 磁盘
iostat -x 1      # IO(需 sysstat)
vmstat 1         # 综合

二、进程级优化(最常见)

1. 降低进程优先级(避免抢资源)

nice -n 10 ./app
renice 10 -p PID

2. 限制 CPU / 内存使用

# 限制 CPU 核数
taskset -c 0,1 ./app

# 限制资源(cgroup)
systemd-run --scope -p CPUQuota=50% -p MemoryMax=512M ./app

3. 后台运行 & 防中断

nohup ./app > app.log 2>&1 &
# 或
screen / tmux

三、服务与开机启动优化

1. 关闭不必要的服务

systemctl list-unit-files --type=service
sudo systemctl disable bluetooth
sudo systemctl stop cups

2. 调整服务资源限制

sudo systemctl edit nginx

添加:

[Service]
CPUQuota=80%
MemoryMax=1G

四、内核与系统参数优化(高级)

1. 文件描述符限制

ulimit -n 65535

永久:

/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535

2. 网络/进程相关内核参数

/etc/sysctl.conf

示例:

vm.swappiness=10
net.core.somaxconn=65535
fs.file-max=1000000

生效:

sysctl -p

五、CPU / 调度优化

1. 选择调度器

cat /sys/block/sda/queue/scheduler
echo mq-deadline > /sys/block/sda/queue/scheduler

2. 多核绑定(高性能场景)

taskset -c 2-7 ./server

六、内存优化

  • 减少 swappiness
  • 使用 zram
sudo apt install zram-config
  • 避免内存泄漏(监控 RSS)

七、容器 / 云服务器场景

  • 使用 cgroups
  • Docker 限制:
docker run --cpus=2 --memory=1g image

八、常见误区

❌ 盲目杀进程
❌ 过度调内核参数
❌ 忽略 IO 瓶颈(比 CPU 更常见)


如果你能告诉我:

  • 是 CPU 高 / 内存高 / IO 高
  • 是 Web 服务 / 数据库 / 科学计算
  • Ubuntu 版本

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

0 踩