- load
系统的load被定义为特定时间间隔内运行队列的平均线程数,如果一个线程满足以下条件,该线程就会处于运行队列中:
- 没有处于I/O等待状态。
- 没有主动进入等待状态,也就是没有调用wait操作;
- 没有被终止。
每个CPU的核都维护了一个运行队列,系统的load主要由运行队列来决定。load的值越大,也就意味着系统的CPU越繁忙,这样线程运行完以后等待操作系统分配下一个时间片段的时间也就越长。一般来说,只要每个CPU当前的活动线程数不大于3,我们认为它的负载是正常的,如果每个CPU的线程数大于5,则表示当前系统的负载已经非常高了,需要采取措施来减低系统的负载,以提高响应速度。
在unix系统中,可以使用uptime命令查看系统的load:
它依次显示下列信息:当前时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载(平均load值)。