mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
fix(content): harden Docker examples
This commit is contained in:
@@ -96,7 +96,7 @@ done
|
||||
```bash
|
||||
# CPU % 超过 80%:需要增加 CPU 限制或优化应用
|
||||
# MEM % 接近 100%:容器即将 OOM,需要增加内存或排查内存泄漏
|
||||
# 如果 NET I/O 中 dropped 为非零:网络拥塞或丢包
|
||||
# NET I/O 只显示收发字节;丢包要看 ip -s link、cAdvisor/Prometheus 或主机网卡计数器
|
||||
```
|
||||
|
||||
### 19.3.3 cAdvisor 容器监控系统
|
||||
@@ -376,7 +376,8 @@ docker run -m 512m --memory-swap 1g myapp:latest
|
||||
# 参数说明:
|
||||
# -m / --memory:内存限制(这里是 512MB)
|
||||
# --memory-swap:内存+SWAP 总额(这里是 1GB,意味着 SWAP 为 512MB)
|
||||
# 如果不设置 --memory-swap,则等于 --memory 值
|
||||
# 如果设置 --memory 但不设置 --memory-swap,有主机 swap 时容器总量可达内存限制的 2 倍;
|
||||
# 要禁用 swap,应把 --memory-swap 设置为与 --memory 相同
|
||||
|
||||
# Docker Compose 配置
|
||||
services:
|
||||
@@ -606,10 +607,15 @@ docker run -m 512m --memory-swap 1g myapp:latest
|
||||
症状:应用性能突然下降,但 CPU 使用率不高
|
||||
诊断:
|
||||
```bash
|
||||
# 查看 CPU 限流统计
|
||||
docker exec <container_id> cat /sys/fs/cgroup/cpu/cpu.stat
|
||||
# 查看 CPU 限流统计;现代发行版多为 cgroup v2,具体路径需先定位容器 cgroup
|
||||
docker inspect --format '{{.State.Pid}}' <container_id>
|
||||
grep cgroup /proc/<pid>/mountinfo
|
||||
docker exec <container_id> cat /sys/fs/cgroup/cpu.stat
|
||||
|
||||
# 如果 throttled_time > 0,说明发生了 CPU 限流
|
||||
# cgroup v1 主机可能仍使用:
|
||||
# docker exec <container_id> cat /sys/fs/cgroup/cpu/cpu.stat
|
||||
|
||||
# 如果 nr_throttled / throttled_usec > 0,说明发生了 CPU 限流
|
||||
# 解决方案:增加 CPU 限制
|
||||
docker update --cpus 2 <container_id>
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user