本人在阿里云有一个服务器,单核 2G,磁盘 IOPS 为 2120 。这个服务器的作用为编译前端项目。
目前出现了一个情况:
前端项目因为 node_modules 的原因,打包起来非常占用磁盘 IO,导致经常出现磁盘占用 100%,不知道是不是阿里云的原因,这个磁盘一但 100%,整个系统将不再有任何响应,等多久都不会再自行恢复,只能通过阿里云强制重启。
所以有两个问题:
1 、如何限制 Ubuntu 系统对磁盘的使用率,进而达到不死机的目的。
2 、阿里云提供的服务是否存在问题,或者不合理的设定。
1
wellsc 2021-05-29 15:40:00 +08:00 via iPhone
namespace 或者直接上 docker
|
2
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, 打包没用到缓存吗 |
3
ladypxy 2021-05-29 16:02:26 +08:00 via iPhone
磁盘 io 高并不一定是磁盘使用的问题,而是内存不够导致频繁得把数据写入硬盘,从而导致 cpu 100%卡死。
这个问题在云主机上很常见,你可以看一下这机器的 swap 大小,很有可能是 0 |
4
akira 2021-05-29 16:23:44 +08:00
构建机不要用单核的,好歹给个双核吧。
|
5
sggggy 2021-05-29 16:37:50 +08:00
这个我遇到过,配置不够有时候会 OOM 直接崩掉,解决办法比较简单,直接升级配置,加内存。
|
6
vone OP @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 |
7
ladypxy 2021-05-29 17:37:52 +08:00 via iPhone
|
8
cdh1075 2021-05-29 19:21:14 +08:00 1
@vone 现在硬盘空间不值钱,直接给个 16g,现在都 2021 年了,别听网上那些地摊教程说太大不好,太大除了浪费没有任何缺点
|
9
realpg 2021-05-30 14:11:41 +08:00
编译机器就给 2G RAM,至于这么抠么
编译那个都是 CPU 内存 临时文件三敏感的操作,给大点没啥问题吧 |