这是因为cfs调度器使用了一个与传统时间片轮转算法不同的调度方式。它根据nice值和时间消耗来动态分配CPU时间,以确保公平性和负载均衡。因此,sched_min_granularity_ns只是一个最小时间单元的限制,而不是实际任务运行的确切时间。
如果你想确切地知道一个任务的运行时间,可以使用perf工具来进行测量。以下是一个示例代码,使用perf来测量进程pid 123的执行时间:
perf stat -p 123
这将输出pid 123进程的各种性能数据,包括执行时间等。
Linux 5.4.53 版本。**现场情况:**1. 无缘无故出现"零星丢包,慢慢上升到100%丢包",然后又不丢包,又反复出现"零星丢包,慢慢上升到100%丢包";1. ping 探测和上述现象类似,时通时断;1. 外网和内网 SSH 登录,刚开始可以登录,丢包100%的时候 SSH 完全断开不可用;1. VCN 登录完全卡死;1. 主机底层看到该虚拟机整体利用率不高,但有单核打满的情况;1. 虚拟机重启之后一切网络全部恢复正常,但业务运行一段时间后会再次复现...