打开/关闭搜索
搜索
打开/关闭菜单
60
828
78
2475
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁搬瓦工服务器入门级性能优化(避免资源浪费/不必要的服务)”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
搬瓦工服务器入门级性能优化(避免资源浪费/不必要的服务)
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
当你拿到一台全新的搬瓦工(BandwagonHost)VPS 时,尤其是购买了 512MB 或 1GB 内存的入门级特价套餐,你可能会觉得资源非常局促。 很多新手都有一个误区:觉得 VPS 只要不装业务软件,内存就是完全空闲的。其实不然。现代的 Linux 操作系统(尤其是 Ubuntu)为了照顾各种复杂的物理机环境,默认在后台塞进了大量我们根本用不到的系统服务。 这些服务就像寄生虫一样,每个吃掉 10MB、20MB 的内存,加在一起就能吃掉一两百兆。对于小内存机器来说,这简直是巨大的浪费。 这篇文章将教你如何给一台刚刚重装好 Ubuntu 或 Debian 系统的 VPS 进行“深度瘦身”。我们将通过卸载和禁用不必要的服务,把被白白浪费的硬件资源全部抢回来。 ---- == 一、 认清现实:你的内存被吃掉了多少? == 在动手优化之前,我们先看看系统当前的真实资源占用情况。通过 SSH 连接到你的 VPS,输入以下命令: <code>'''free -h'''</code> 观察 <code>used</code>(已使用)这一列。你会发现,一台什么业务都没跑的全新 Ubuntu 22.04 系统,可能已经占用了 200MB 甚至 300MB 的内存。对于一台只有 512MB 内存的机器来说,一半的命已经没了。 接下来,我们开始逐一清理这些毫无用处的后台进程。 ---- == 二、 卸载与禁用不必要的服务 == 请注意,以下操作和命令主要针对搬瓦工 KiwiVM 面板里最主流的 Ubuntu 20.04 / 22.04 以及 Debian 11 / 12 系统。请逐行复制执行。 == 1. 彻底卸载 Snap 服务 (仅限 Ubuntu) == 这是什么: Snap 是 Ubuntu 官方强推的一种软件安装包格式。它的缺点是启动极慢、占用大量内存,并且会在系统里生成十几个虚拟的只读磁盘(使用 <code>df -h</code> 命令时看到的那一堆 <code>/dev/loop</code> 就是它干的)。作为 VPS 玩家,我们平时全靠 Docker 和 apt 来安装软件,根本用不到 Snap。 清理命令: <code># 停止所有 Snap 服务 systemctl stop snapd systemctl disable snapd # 彻底卸载 snapd 及其所有关联组件 apt purge snapd -y # 清理残余的缓存和文件夹 rm -rf /snap rm -rf /var/snap rm -rf /var/lib/snapd</code> 执行完毕后,你的系统不仅会省出几十兆内存,使用 <code>df -h</code> 看磁盘空间时也会清爽很多。 == 2. 禁用杂项硬件服务 == 这是什么: Linux 系统为了能够运行在各种物理电脑上,默认开启了许多硬件检测服务。 * <code>udisks2</code>:用来检测你有没有往电脑上插 U 盘的。 * <code>multipathd</code>:用来管理企业级存储阵列的。 * <code>ModemManager</code>:用来检测有没有插 3G/4G 拨号上网卡的。 * <code>rpcbind</code>:用来挂载老式的 NFS 网络硬盘的。 你的 VPS 是一台安静躺在机房里的虚拟机,根本不可能有人去给它插 U 盘或者拨号上网。这些服务全都在白白浪费内存。 清理命令: 我们将它们全部停止,并禁止开机自启: <code>systemctl '''disable''' --now udisks2.service systemctl '''disable''' --now multipathd.service systemctl '''disable''' --now multipathd.socket systemctl '''disable''' --now ModemManager.service systemctl '''disable''' --now rpcbind.service systemctl '''disable''' --now rpcbind.socket</code> == 3. 禁用无用的网络等待服务 == 这是什么:<code>NetworkManager-wait-online</code> 是一个在系统开机时,强制等待所有网络接口都连接上互联网后,才允许系统继续启动的服务。它经常会导致 VPS 开机极其缓慢。VPS 的网络是由宿主机直接分配的固定网络,不需要这种复杂的等待机制。 清理命令: <code>systemctl disable --now NetworkManager-wait-online.service systemctl '''mask''' NetworkManager-wait-online.service</code> ---- == 三、 限制系统日志的无底洞 == 这是什么: Linux 系统内置了一个叫 <code>systemd-journald</code> 的日志守护进程。它会记录系统发生的所有事情。默认情况下,它不仅会把日志写在硬盘上,还会把最近的日志暂存在内存里。如果不加限制,它会吃掉你几十兆甚至上百兆的宝贵内存,同时日积月累撑爆硬盘。 我们需要修改它的配置文件,给它定一个死规矩:最多只能使用 50MB 的空间。 优化步骤: 打开日志配置文件: <code>nano /etc/systemd/journald.conf</code> 使用方向键向下滚动,找到 <code>SystemMaxUse=</code> 这一行(前面可能有个 <code>#</code> 号)。 把 <code>#</code> 号删掉,并修改为 <code>SystemMaxUse=50M</code>。 再找到 <code>RuntimeMaxUse=</code> 这一行,去掉 <code>#</code> 号,修改为 <code>RuntimeMaxUse=50M</code>。 修改后的这两行应该长这样: <code>'''SystemMaxUse'''=50M '''RuntimeMaxUse'''=50M</code> 按下 <code>Ctrl+O</code> 保存,回车确认,然后按下 <code>Ctrl+X</code> 退出编辑器。 重启日志服务让配置生效: <code>systemctl restart systemd-journald</code> ---- == 四、 优化虚拟内存 (Swap) 的使用策略 == 这是什么: Swap 就是拿一部分硬盘空间当内存用。当物理内存快满的时候,系统会把一些不常用的数据塞进硬盘里,防止机器死机。 决定系统“有多积极去使用 Swap”的参数叫 <code>swappiness</code>。它的值在 0 到 100 之间。 * 值越大(比如 Ubuntu 默认的 60):系统只要内存稍微用了一点,就会急急忙忙把数据往硬盘里写。由于硬盘速度远比不上真正的内存,这会导致你的 VPS 变得非常卡顿。 * 值越小:系统会尽可能地使用真正的物理内存,只有在万不得已的时候才去动用硬盘。 对于普通的建站和容器部署,我们希望机器运行得尽量快,所以要把这个倾向值调低,建议设置为 <code>10</code>。 优化步骤: 首先,临时修改当前系统的 swappiness 值为 10: <code>sysctl vm.'''swappiness'''=10</code> 然后,为了保证重启后依然生效,我们需要把它写进系统配置文件里: <code>echo "vm.swappiness=10" >> /etc/sysctl.conf</code> 这样,你的机器就只会优先使用速度极快的物理内存了。 ---- == 五、 保持架构的绝对纯净 == 其实,入门级 VPS 最有效的性能优化方案,并不是敲多少行命令,而是控制你的部署欲望。 很多新手喜欢一上来就安装宝塔面板(BT Panel)或者 1Panel 等重型可视化管理面板。这些面板本身就会吃掉至少 200MB 到 300MB 的内存。对于 1GB 内存的机器来说,装完面板,留给真正业务的资源就所剩无几了。 极简运维建议: 放弃那些臃肿的面板环境,直接使用 原生 Docker + 纯 IP 端口直连 的模式。 你要运行监控探针,就单独跑一个探针容器;你要运行个人导航页,就跑一个导航页容器。不需要反向代理,不需要数据库环境的预装。只要你在系统的 UFW 防火墙里把对应的端口放行,直接通过 <code><nowiki>http://你的IP:端口</nowiki></code> 访问即可。 ---- == 六、 验收成果 == 当你把上述第一到第四步的命令全部执行完毕后,建议直接重启一次服务器: <code>'''reboot'''</code> 等待 1 分钟后重新连上 SSH。再次输入查看内存的命令: <code>'''free -h'''</code> 你会惊喜地发现,原本开机占用两三百兆的系统,现在的 <code>used</code> 内存可能已经降到了 100MB 左右,甚至更低。这节省出来的 100 多兆内存,足够你多跑两三个有用的 Docker 容器了。
返回
搬瓦工服务器入门级性能优化(避免资源浪费/不必要的服务)
。
查看“︁搬瓦工服务器入门级性能优化(避免资源浪费/不必要的服务)”︁的源代码
来自md5.pw