[英]Impact of kernel on system call
我有两台不同的机器:
机器1:
# 无名
Linux
# unname -r
2.6.34.15-WR4.3.fp_x86_64_standard-00239-g7934205
机器2:
# 无名
Linux
# unname -r
4.4.217-pc64-distro.git-v2.102-3-rc
进程“X”在机器 2 中的 CPU 比在机器 1 中更高。
Process X 在这两台机器上具有完全相同的代码。 该过程的负载也相同。
这里的问题是这里使用的系统调用可能会对 CPU 产生不同的影响,因为 kernel 在这两台机器中都不同?
PS:Machine 2 也在操作系统中进行了一些自定义。
有没有办法通过系统调用检查 CPU 使用率?
Oprofile 没有在这台机器上运行.. 可能没有安装。 没有安装相同的权限。
还有其他可以提供帮助的工具吗?
另外请任何人帮助让我知道 TCP SEND AND RECV buff 是否对进程的 CPU 有任何影响?
简短的回答是,是的。 进程的 CPU 负载由其用户空间处理(即进程代码)和其 kernel 空间(又称“系统”,即系统调用所花费的时间)组成。 因为系统调用实现可能在内核之间发生了变化,这可能导致 kernel 空间中的更多处理。
但还有一个更长的答案,这取决于这些是哪些系统调用,以及它是直接系统调用实现,还是 kernel 子系统(例如 I/O 调度程序?)的更改,以及您已经进行的那些自定义提及。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.