gpt4 book ai didi

c++ - 如何确定代码在内核空间中花费大量时间的位置(系统调用)

转载 作者:太空狗 更新时间:2023-10-29 23:38:18 26 4
gpt4 key购买 nike

我注意到我的代码运行的 10% 是系统空间。但是我不知道哪个系统调用。不过,我怀疑它要么必须处理文件,要么必须处理时间戳。

是否有工具可以找出哪些系统调用是罪魁祸首?另外,我想知道调用(和被调用者)的频率(和位置)。

我在 AS3 上

谢谢

最佳答案

stracetruss 都可以帮助您了解哪些系统调用占用了时间。 strace 的两个有用选项是:

  1. -T 显示每次系统调用所花费的时间,
  2. -c 将系统调用计数、调用、错误计数汇总为表格。

虽然这两个选项是互斥的。

您可能需要一个完整的系统分析工具,以便更详细地分析内核。 DTrace如果您的平台上有它,这可能是最好的。

按平台,这里有一些选项:

DTrace 甚至可以帮助您使用 pid 提供程序分析您的 C/C++ 代码,例如见here .

关于c++ - 如何确定代码在内核空间中花费大量时间的位置(系统调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1588970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com