多线程的应用程序会引起vmstat 的kthr的r 值较大吗?
时间:2011-04-10
来源:互联网
多线程的应用程序会引起vmstat 的kthr的r 值较大吗?
有一台P615小机,单核1G内存,vmstat 显示kthr的r 为16,LCPU=1,
***:如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.;如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
但是该系统的cpu负载并不高,我觉得是别的原因引起的r 值过高,怀疑是多线程的应用程序会引起的,不知有没有这个可能?
和其它类似系统对比发现ps -emo的输出,该小机的两个多线程(12个线程)应用程序,其中的线程状态S大多是Sleeping,只有2,3个线程的S状态是running,我不知道处于Sleeping的线程会算在kthr的r 值里吗?而且WCHAN域有进程等待的事件(系统中的一个地址),是不是WCHAN域有进程等待的事件的线程才算进kthr的r 值里?
有一台P615小机,单核1G内存,vmstat 显示kthr的r 为16,LCPU=1,
***:如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.;如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
但是该系统的cpu负载并不高,我觉得是别的原因引起的r 值过高,怀疑是多线程的应用程序会引起的,不知有没有这个可能?
和其它类似系统对比发现ps -emo的输出,该小机的两个多线程(12个线程)应用程序,其中的线程状态S大多是Sleeping,只有2,3个线程的S状态是running,我不知道处于Sleeping的线程会算在kthr的r 值里吗?而且WCHAN域有进程等待的事件(系统中的一个地址),是不是WCHAN域有进程等待的事件的线程才算进kthr的r 值里?
作者: mi_zy 发布时间: 2011-04-10
只有Sleeping的线程才可能有WCHAN,所以Sleeping的线程不算进kthr的r 值里的话,那WCHAN域有进程等待的事件的线程肯定不会算进kthr的r 值里了,看来第二个疑问不算疑问。
作者: mi_zy 发布时间: 2011-04-10
也可能我理解混了,等待队列和sleeping线程的关系没有搞明白!是不是sleeping线程是不会进等待队列的,只有running线程才可以进等待队列?
作者: mi_zy 发布时间: 2011-04-10
多线程的应用程序会引起vmstat 的kthr的r 值较大吗?
有一台P615小机,单核1G内存,vmstat 显示kthr的r 为16,LCPU=1,
***:如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.;如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
但是该系统的cpu负载并不高,我觉得是别的原因引起的r 值过高,怀疑是多线程的应用程序会引起的,不知有没有这个可能?
和其它类似系统对比发现ps -emo的输出,该小机的两个多线程(12个线程)应用程序,其中的线程状态S大多是Sleeping,只有2,3个线程的S状态是running,我不知道处于Sleeping的线程会算在kthr的r 值里吗?而且WCHAN域有进程等待的事件(系统中的一个地址),是不是WCHAN域有进程等待的事件的线程才算进kthr的r 值里?
有一台P615小机,单核1G内存,vmstat 显示kthr的r 为16,LCPU=1,
***:如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.;如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
但是该系统的cpu负载并不高,我觉得是别的原因引起的r 值过高,怀疑是多线程的应用程序会引起的,不知有没有这个可能?
和其它类似系统对比发现ps -emo的输出,该小机的两个多线程(12个线程)应用程序,其中的线程状态S大多是Sleeping,只有2,3个线程的S状态是running,我不知道处于Sleeping的线程会算在kthr的r 值里吗?而且WCHAN域有进程等待的事件(系统中的一个地址),是不是WCHAN域有进程等待的事件的线程才算进kthr的r 值里?
作者: mi_zy 发布时间: 2011-04-10
只有Sleeping的线程才可能有WCHAN,所以Sleeping的线程不算进kthr的r 值里的话,那WCHAN域有进程等待的事件的线程肯定不会算进kthr的r 值里了,看来第二个疑问不算疑问。
作者: mi_zy 发布时间: 2011-04-10
也可能我理解混了,等待队列和sleeping线程的关系没有搞明白!是不是sleeping线程是不会进等待队列的,只有running线程才可以进等待队列?
作者: mi_zy 发布时间: 2011-04-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28