Linux 服务器运行某些命令时速度很慢

Linux 服务器运行某些命令时速度很慢

我有一台 Linux 服务器,上面安装了 ubuntu 20.04。内核版本是5.4.0-163-generic。24 核和 32GB RAM。

我在这个服务器上运行着数据库,它运行没有任何问题。问题是当我第一次运行一个命令时,它花费的时间太长了。或者启动和 ssh 会话总是需要 4-5 秒。

以下是一个例子:

$ time mysql -u root -h 127.1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

real    0m3.663s
user    0m0.013s
sys     0m0.008s



$ time mysql -u root -h 127.1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

real    0m0.015s
user    0m0.008s
sys     0m0.007s

今天我发现了一个奇怪的问题。我使用 rsync 将一些文件从同一网段(使用 LAN/专用网络)中的另一台服务器移动到此服务器,开始时速度约为 90/MBs,这是正常的。然后 1GB 之后速度下降到 50MB/s,然后是 30MB/s,最后是 1MB/s。

我检查了两台服务器的网络/磁盘 I/O,一切正常。然后我检查了我的目标服务器,发现平均负载正在增加。我检查了指标,所有核心的 CPU 使用率均低于 0.2,从顶部输出来看,每个核心都有一些 I/O WA(我认为这是正常的,因为它正在复制文件,并且等待时间不一致,它们只在 2-4 个核心上按间隔显示)。

我一直有大约 200 - 400 MB 的可用内存和 2 - 3 GB 的缓冲区/缓存。我的 innodb 缓冲区大小为 25GB,如果这是问题的话我可以减少它,但我认为不是。

我对内核做的唯一更改是intel_iommu=igfx_off intremap=off因为我的硬件在某些版本的内核上存在问题。

有人能告诉我如何进一步调查这个问题吗?我很感激任何想法/帮助。

相关内容