2

最近我们看到我们的应用程序存在一些共享内存读/写性能问题。

在我们的应用程序中,我们将数据从共享内存/run/shm复制到固定内存,以实现更高的 GPU 传输吞吐量。我们观察到从不同文件(相同大小)复制时,复制速度是如此不同。

为了重现该问题,我们将相同的源文件复制到共享内存中的两个文件(即 file1、file2)中。然后我们通过计算将文件复制到/dev/null的时间来确认问题,结果如下。

numactl --cpubind=0 cp /run/shm/file1 /dev/null  0.05s user 0.28s system 94% cpu 0.355 total
numactl --cpubind=1 cp /run/shm/file1 /dev/null  0.11s user 0.22s system 91% cpu 0.360 total

numactl --cpubind=0 cp /run/shm/file2 /dev/null  0.08s user 2.15s system 93% cpu 2.383 total
numactl --cpubind=1 cp /run/shm/file2 /dev/null  0.16s user 5.44s system 97% cpu 5.748 total

我们检查了 meminfo,我们只使用了 50% 的内存。没有任何东西被换掉(我们明确地禁用了它)。

搜索了一圈,但无法确定问题所在。最后,我们重新启动系统,问题就消失了。

有谁知道可能是什么根本原因?

谢谢!

4

0 回答 0