|
问题背景: 在unix 下用ps 命令查看某一进程的执行占用资源情况, 以了解程序性能。
其中 %cpu字段是“cpu utilization of the process in "##.#" format. Currently, it is the CPU time used divided by the time the process has been running (cputime/realtime ratio)”
A 我的理解 :这个除数不是系统总的cpu时间 而是本进程的运行时间。 因此, 这个比例的影响因素包括:1 程序本身的计算和系统i/o的比例 2 操作系统调度其他进程占用的时间 3进程是否是多线程的
B 我的问题: 程序本身的计算时间是否包括进入系统调用确还未实际i/o的时间 而自身睡眠的时间
同样的,对于time字段“accumulated cpu time, user + system. The display format is usually "MMM:SS", but can be shifted to the right if the process used more than 999 minutes of cpu time.”
那么这个系统时间是否是指进程作系统调用进入系统服务的时间, 因此这个时间包括系统服务自身的时间和i/o操作的时间。 这个理解正确吗? 如果是这样, 那么就算一个被测程序的运行时间, 应该按用户时间算,但是这个用户时间却不包括i/o时间?
真诚邀请讨论中!! 谢谢。 |
|