linux – 测量内核空间开销的准确方法

linux – 测量内核空间开销的准确方法,第1张

概述我最近为 Linux实现了一个挂钩系统调用的安全机制.现在我必须衡量它造成的开销.该项目需要比较具有和不具有该机制的典型Linux应用程序的执行时间.通过典型的Linux应用程序我假设前. gzipping 1G文件,执行’find /’,grepping文件.主要目标是显示不同类型任务的开销:CPU绑定,I / O绑定等. 问题是:如何组织测试以使其可靠?第一个重要的事实是我的机制仅在内核空间中 我最近为 Linux实现了一个挂钩系统调用的安全机制.现在我必须衡量它造成的开销.该项目需要比较具有和不具有该机制的典型linux应用程序的执行时间.通过典型的linux应用程序我假设前. gzipPing 1G文件,执行’find /’,grepPing文件.主要目标是显示不同类型任务的开销:cpu绑定,I / O绑定等.

问题是:如何组织测试以使其可靠?第一个重要的事实是我的机制仅在内核空间中起作用,因此它与比较systime是相关的.我可以使用’time’命令,但它是测量systime最准确的方法吗?另一个想法是在长循环中运行这些应用程序以最小化错误.然后循环应该在内部或外部时间命令?如果他们在外面,我会得到很多结果 – 我应该选择最小值,最大值,中值,平均值吗?

谢谢你的任何建议.

解决方法 我想你想要更多地测量一个典型的应用程序有效载荷(正如Ninjajl的评论所暗示的,内核的编译可能是一个很好的有效载荷).您可能不希望测量每个系统调用本身内部的开销,甚至不需要测量内核整体内部的开销.

这样做的原因是大多数应用程序在用户空间中花费的时间和资源比在kernel-land(即系统调用)中花费的时间和资源要多得多,因此系统调用内部的开销是“二阶”效应,并且可能无关紧要.当然,也有可能的例外.

也许phoronix test suite可能是相关的.

你可能感兴趣的是oprofile

另见this answer和this question

总结

以上是内存溢出为你收集整理的linux – 测量内核空间开销的准确方法全部内容,希望文章能够帮你解决linux – 测量内核空间开销的准确方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1017701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存