[运维大佬进] 请问如何限制 Ubuntu 系统对磁盘的使用率

2021-05-29 15:36:59 +08:00
 vone

本人在阿里云有一个服务器,单核 2G,磁盘 IOPS 为 2120 。这个服务器的作用为编译前端项目。

目前出现了一个情况:

前端项目因为 node_modules 的原因,打包起来非常占用磁盘 IO,导致经常出现磁盘占用 100%,不知道是不是阿里云的原因,这个磁盘一但 100%,整个系统将不再有任何响应,等多久都不会再自行恢复,只能通过阿里云强制重启。

所以有两个问题:

1 、如何限制 Ubuntu 系统对磁盘的使用率,进而达到不死机的目的。

2 、阿里云提供的服务是否存在问题,或者不合理的设定。

https://z3.ax1x.com/2021/05/29/2AlLXn.png

https://z3.ax1x.com/2021/05/29/2Alj00.png

1681 次点击
所在节点    程序员
9 条回复
wellsc
2021-05-29 15:40:00 +08:00
namespace 或者直接上 docker
jpuyy
2021-05-29 15:41:43 +08:00
用 cgroup
https://unix.stackexchange.com/questions/48138/how-to-throttle-per-process-i-o-to-a-max-limit

不过还是排查一下自己的程序有没有 bug, 打包没用到缓存吗
ladypxy
2021-05-29 16:02:26 +08:00
磁盘 io 高并不一定是磁盘使用的问题,而是内存不够导致频繁得把数据写入硬盘,从而导致 cpu 100%卡死。
这个问题在云主机上很常见,你可以看一下这机器的 swap 大小,很有可能是 0
akira
2021-05-29 16:23:44 +08:00
构建机不要用单核的,好歹给个双核吧。
sggggy
2021-05-29 16:37:50 +08:00
这个我遇到过,配置不够有时候会 OOM 直接崩掉,解决办法比较简单,直接升级配置,加内存。
vone
2021-05-29 17:02:56 +08:00
@ladypxy Swap 好像是 0,我刚才把配置升级了一下,现在是双核 4g 。请问我需要调整这个 Swap 吗,具体要调整为多大。

total used free shared buff/cache available
Mem: 3.9G 1.6G 1.7G 3.0M 543M 2.0G
Swap: 0B 0B 0B
ladypxy
2021-05-29 17:37:52 +08:00
@vone 先加个 2G 的 swap,一般来说就不会有问题了

https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/
cdh1075
2021-05-29 19:21:14 +08:00
@vone 现在硬盘空间不值钱,直接给个 16g,现在都 2021 年了,别听网上那些地摊教程说太大不好,太大除了浪费没有任何缺点
realpg
2021-05-30 14:11:41 +08:00
编译机器就给 2G RAM,至于这么抠么
编译那个都是 CPU 内存 临时文件三敏感的操作,给大点没啥问题吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/780031

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX