Ubuntu 服务器防止卡死的配置

一、先搞清楚:服务器为什么会“卡死”❄️

99% 的卡死,来自这几类资源被打满:

  • 🧠 内存耗尽(最常见)
    • OOM → 内核开始杀进程
    • SSH 直接连不上
  • 🔥 CPU 长时间 100%
    • Node / Python 死循环
    • SSR 高并发
  • 💽 磁盘 I/O 被打满
    • 日志狂写
    • 数据库慢查询
  • 🧵 进程 / FD 数耗尽
    • too many open files
  • 🌐 网络阻塞
    • 大量请求 + 同机数据库

二、第一优先级:防“彻底死掉”(救命级)🧯

1️⃣ 开启 Swap(没有就等死)

free -h

如果 Swap: 0,立刻加:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

📌 意义

不求快,只求别直接 OOM 死机


2️⃣ 调低 OOM killer 的“误伤率”

sysctl vm.overcommit_memory=1
sysctl vm.swappiness=10

写入 /etc/sysctl.conf 永久生效。


三、进程级防护(最关键)🛡️

3️⃣ 所有服务必须有「守护 + 限制」

Node / Nuxt / SSR / Python

❌ 裸跑 node app.js
✅ 用 PM2 / systemd

PM2 示例:

pm2 start ecosystem.config.js
pm2 startup
pm2 save

并在配置中加:

max_memory_restart: '512M'

📌 效果

  • 内存异常 → 自动重启
  • 不会把整台机器拖死

4️⃣ systemd 限制资源(很重要)

示例(/etc/systemd/system/api.service):

[Service]
MemoryMax=512M
CPUQuota=80%
Restart=always
RestartSec=3

📌 单个服务炸了 ≠ 整台服务器陪葬


四、立刻减少服务器负担(你已经在做,对)🧊

你现在这个思路完全正确

👉 前端 / 静态资源 / CDN / SSR 拆出去

推荐拆法(从你当前状态出发):

内容放哪里
静态文件OSS + CDN
Nuxt 前端Vercel / Edge / Serverless
API留在服务器
数据库留在服务器
重查询缓存 / 边缘

📌 原因:
数据库 ≠ CPU 密集,但 SSR 是


五、数据库层面防“拖死”🐘

5️⃣ PostgreSQL 必做项

SHOW shared_buffers;
SHOW work_mem;

建议(小内存机):

  • shared_buffers = 128MB
  • work_mem = 4MB

并且:

SELECT * FROM pg_stat_activity;

定期看有没有卡死的查询


6️⃣ 禁止“慢查询无限拖”

SET statement_timeout = '5s';

或写入配置。


六、日志 & 磁盘 I/O 杀手 🪵

7️⃣ 日志必须轮转

logrotate -f /etc/logrotate.conf

确认你的:

  • nginx
  • node
  • python
  • postgres

都没在疯狂写单个日志文件


七、最低成本监控(不搞花活)📟

8️⃣ 至少装这两个:

apt install htop iotop

卡的时候看:

  • htop → 谁吃 CPU / 内存
  • iotop → 谁在狂写磁盘

9️⃣ 防止你“不知道它死了”

最简单:

  • 阿里云 云监控告警
    • 内存 > 90%
    • CPU > 90%
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇