技术解析

[运维大佬进] 请问如何限制 Ubuntu 系统对磁盘的使用率
0
2021-06-01 16:02:59
idczone

本人在阿里云有一个服务器,单核 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


namespace 或者直接上 docker

用 cgroup
https://unix.stackexchange.com/questions/48138/how-to-throttle-per-process-i-o-to-a-max-limit
不过还是排查一下自己的程序有没有 bug, 打包没用到缓存吗

磁盘 io 高并不一定是磁盘使用的问题,而是内存不够导致频繁得把数据写入硬盘,从而导致 cpu 100%卡死。
这个问题在云主机上很常见,你可以看一下这机器的 swap 大小,很有可能是 0

构建机不要用单核的,好歹给个双核吧。

这个我遇到过,配置不够有时候会 OOM 直接崩掉,解决办法比较简单,直接升级配置,加内存。

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

先加个 2G 的 swap,一般来说就不会有问题了
https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/

现在硬盘空间不值钱,直接给个 16g,现在都 2021 年了,别听网上那些地摊教程说太大不好,太大除了浪费没有任何缺点

编译机器就给 2G RAM,至于这么抠么
编译那个都是 CPU 内存 临时文件三敏感的操作,给大点没啥问题吧

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服