我在带有 devicemapper 的 CentOS 7 机器上的 docker 容器中运行 apache(在专用卷组上,而不是在环回文件上)。
几次请求后,系统负载急剧增加,甚至高达 20。由于 cpu 负载相当低,我使用iotop -a跟踪 I/O 活动,发现当容器运行时,进程 [loop0] 做了很多事情从磁盘读取。
我用谷歌搜索了一下,但我仍然无法弄清楚 [loop0] 的用途。有人可以给我一个线索吗?在 docker 容器内运行的进程会导致 [loop0] 发疯吗?
我在带有 devicemapper 的 CentOS 7 机器上的 docker 容器中运行 apache(在专用卷组上,而不是在环回文件上)。
几次请求后,系统负载急剧增加,甚至高达 20。由于 cpu 负载相当低,我使用iotop -a跟踪 I/O 活动,发现当容器运行时,进程 [loop0] 做了很多事情从磁盘读取。
我用谷歌搜索了一下,但我仍然无法弄清楚 [loop0] 的用途。有人可以给我一个线索吗?在 docker 容器内运行的进程会导致 [loop0] 发疯吗?
您可能正在使用默认的环回存储后端。该后端使用主机上的一个文件,在该文件中创建一个逻辑卷,从该卷中将循环设备暴露给 docker 容器。
这就是为什么所有的 IO 都要经过这个过程。
有关环回的更多信息在这里