环境

  • 单机

  • Docker 部署所有服务,且无任何资源限制

  • 服务器资源如下

              total        used        free      shared  buff/cache   available
Mem:          124Gi        51Gi        59Gi       381Mi        12Gi        71Gi
Swap:         7.9Gi          0B       7.9Gi

  • CPU32 核
  • top 命令输出
top - 11:31:32 up  1:11,  1 user,  load average: 12.09, 10.88, 10.11
Tasks: 1422 total,   3 running, 1417 sleeping,   0 stopped,   2 zombie
%Cpu(s):  8.6 us,  4.0 sy,  0.0 ni, 86.4 id,  0.1 wa,  0.8 hi,  0.2 si,  0.0 st
MiB Mem : 127595.7 total,  60302.0 free,  53900.8 used,  13392.9 buff/cache
MiB Swap:   8044.0 total,   8044.0 free,      0.0 used.  72635.6 avail Mem 

目前整个故障过程中,对 free 命令以及 cpu 负载进行了监控,基本上没有变化,很稳定

现象

今早所有在服务器上部署的服务,均响应缓慢,

  • 测试应用服务器 rest 接口调用正常,只是慢一点
  • 测试 nginx80 访问 web 端,页面无法正常加载
  • 测试 tdengine 时序数据库执行 select count(*) from table 能正常返回,测试 select * from tables limit 100 ,直接 hang 住卡死

我做的处理

  • 重启了数据库服务,重启完成后,以上问题依旧存在
  • 重启了整改服务器运行的服务,重启之后,问题依旧存在,
  • 我考虑到如果是资源问题,那么在我重启服务器所有的运行的服务后,理论上资源应该释放掉了,但是实际上,并没有释放,问题依旧。
  • 随后我对整个服务器进行重启,重启之后服务依旧存在
  • 后被告知,我的服务器是个虚拟化的机子,通过联系相关网络中心的,在那边重启了他们的实体机,实体机重启完后,服务恢复了,接口请求也不 hang 住了
举报· 519 次点击
登录 注册 站外分享
4 条回复  
lrh3321 小成 2025-3-14 11:42:58
1. 实体机超卖了 2. 在执行什么占用 CPU 的任务刚好把分给你核心给占用了 3. 实体机对应的 IO 线程拿不到 CPU 时间片。或者 IOPS 过大,你虚拟机被 IO 卡住了
SKYNE 初学 2025-3-14 11:45:15
swap 分区可以考虑永久禁用掉
Curiosity777 楼主 小成 2025-3-14 13:07:13
@SKYNE 应该和 swap 没关系
Curiosity777 楼主 小成 2025-3-14 13:09:31
@lrh3321 目前那边反馈实体机上只有我们这一个虚拟机,没有其他人占用,不过 io 这块我确实没排查
返回顶部