更新:
萨里-W-B-d输出已添加到帖子底部。
我在启动时模拟了这种情况。我让 uwsgi 启动了 9 个 django 应用实例,同时使用 gunicorn 进行 websockets 和 dramatiq 进行队列处理。重启后的前 17 分钟,它似乎疯狂地交换。对我来说毫无意义的是,我有(现在正在观察)55gb 的可用内存,但它一直在将东西堆积到交换中。
多个全球团队正在此服务器上工作,试图帮助他们追踪一个奇怪的情况。在某个时候,I/O 等待时间大幅增加,上下文切换增加了四倍。实例开始缓慢运行。
8 核 - 64 GB 机器,快照特区事情变得一团糟的时候。任何建议都会有帮助。
12:00:02 AM proc/s cswch/s
...
04:20:01 AM 9.57 2240.70
04:30:01 AM 9.19 2205.21
04:40:01 AM 17.95 3654.56
04:50:01 AM 13.25 8211.17
04:50:01 AM proc/s cswch/s
05:00:01 AM 11.25 12730.44
05:10:01 AM 23.55 13373.36
05:20:01 AM 9.71 12946.54
05:30:01 AM 9.40 12910.49
05:40:01 AM 9.65 12756.83
05:50:01 AM 9.74 12240.25
06:00:01 AM 9.27 12499.49
04:20:01 AM all 0.82 0.08 0.36 0.01 0.00 98.74
04:30:01 AM all 0.74 0.08 0.34 0.01 0.00 98.82
04:40:01 AM all 2.10 4.78 0.97 0.02 0.00 92.14
04:50:01 AM all 5.75 1.34 0.89 14.13 0.00 77.89
04:50:01 AM CPU %user %nice %system %iowait %steal %idle
05:00:01 AM all 3.75 0.78 0.90 22.36 0.00 72.21
05:10:01 AM all 1.34 0.08 1.06 16.47 0.00 81.06
05:20:01 AM all 1.86 0.09 0.76 19.68 0.00 77.61
05:30:01 AM all 1.59 0.09 0.75 29.20 0.00 68.36
05:40:01 AM all 1.43 0.09 0.80 20.73 0.00 76.94
05:50:01 AM all 1.50 0.08 0.72 18.37 0.00 79.33
06:00:01 AM all 6.00 0.08 0.78 22.84 0.00 70.30
04:20:01 AM 40681728 23895344 37.00 1092056 8106304 18478612 23.63
04:30:01 AM 40624048 23953024 37.09 1092176 8111296 18494628 23.65
04:40:01 AM 39070316 25506756 39.50 1092452 8105988 19712452 25.20
04:50:01 AM 39020276 25556796 39.58 1092604 8109400 22042632 28.18
04:50:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
05:00:01 AM 42089076 22487996 34.82 1092724 6242232 21033836 26.89
05:10:01 AM 41149488 23427584 36.28 1092840 6244432 21054208 26.92
05:20:01 AM 40928964 23648108 36.62 1092956 6246076 20986812 26.83
05:30:01 AM 40650108 23926964 37.05 1093052 6260380 21890736 27.99
05:40:01 AM 40709564 23867508 36.96 1093124 6261400 21152980 27.05
05:50:01 AM 40510896 24066176 37.27 1093276 6262116 21860396 27.95
06:00:01 AM 40343000 24234072 37.53 1093364 6263852 23247668 29.73
11:00:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:10:01 AM dev259-0 58.23 691.59 296.31 16.97 0.42 7.45 0.24 1.39
11:20:01 AM dev259-0 25.78 592.32 104.80 27.05 0.02 0.67 0.04 0.11
11:30:01 AM dev259-0 2.01 5.95 89.83 47.75 0.00 0.22 0.02 0.00
11:40:01 AM dev259-0 86.93 1810.66 85.48 21.81 1.22 14.27 0.28 2.44
11:50:01 AM dev259-0 2992.53 18668.89 16743.57 11.83 18.64 6.54 0.32 94.69
12:00:01 PM dev259-0 873.25 6378.61 6783.46 15.07 4.04 4.91 0.30 25.95
12:10:01 PM dev259-0 1960.41 15044.32 13876.68 14.75 13.52 7.20 0.31 60.85
12:10:01 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
12:20:01 PM dev259-0 2861.73 16101.24 15620.46 11.08 17.03 6.26 0.32 91.00
12:30:01 PM dev259-0 2328.61 15041.01 12711.45 11.92 14.54 6.55 0.32 73.74
12:40:01 PM dev259-0 97.34 708.75 364.76 11.03 0.77 8.12 0.24 2.33
12:50:01 PM dev259-0 2090.85 11775.92 11438.38 11.10 12.47 6.27 0.32 66.22
Average: dev259-0 437.34 3139.50 2685.83 13.32 2.74 6.57 0.30 13.03
答案1
天哪,我在 /etc/init.d/cgroup 中有一个特殊代码,可以根据内存变化配置 cgroup。AWS 安全更新破坏了我的更改。疯狂交换源自 cgroup 的意外内存限制!!!