veh*_*zzz 2 c c++ unix performance system-calls
我注意到我的代码运行的10%是系统空间.但是,我不知道哪个系统调用.我怀疑,它要么必须做文件或时间戳.
有没有工具来确定哪些系统调用是罪魁祸首?另外,我想知道调用(和被调用者)的频率(和位置).
我在AS3上
谢谢
双方strace并truss会帮助您了解哪些系统调用正在服用的时间.两个有用的选项strace是:
-T 显示每次系统调用所花费的时间,-c 将syscall计数,调用,错误计数汇总为表.这两个选项是相互排斥的.
您可能需要一个完整的系统分析工具,以便更详细地分析内核. 如果您在平台上拥有它,DTrace可能是最好的.
通过平台,这里有一些选项:
DTrace甚至可以帮助您使用pid提供程序分析您的C/C++代码,例如,请参见此处.