WCHAN="semtim" 是什么意思?
ps -ylC httpd
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 25330 1 0 78 0 16168 170563 - ? 00:00:14 httpd
R 48 16566 25330 4 76 0 36864 174156 - ? 00:00:02 httpd
S 48 31450 25330 2 75 0 109992 186745 - ? 00:02:24 httpd
S 48 31460 25330 2 75 0 115724 186745 semtim ? 00:02:11 httpd
S 48 23069 25330 1 75 0 116812 186745 semtim ? 00:02:13 httpd
S 48 12335 25330 2 75 0 117444 186745 - ? 00:03:48 httpd
S 48 23130 25330 1 75 0 118616 200530 - ? 00:01:54 httpd
S 48 23205 25330 2 77 0 119044 187769 semtim ? 00:02:50 httpd
S 48 23138 25330 2 75 0 120436 186745 semtim ? 00:02:39 httpd
S 48 23194 25330 1 75 0 120544 186745 semtim ? 00:02:16 httpd
S 48 12309 25330 2 75 0 120604 186745 semtim ? 00:03:00 httpd
S 48 23204 25330 2 75 0 120848 186489 semtim ? 00:02:41 httpd
S 48 23202 25330 3 76 0 121584 186745 semtim ? 00:03:45 httpd
S 48 31454 25330 2 75 0 122516 200530 semtim ? 00:02:12 httpd
有问题的服务器是 Red Hat 4.1.2-52 系统(内核 2.6.18),运行带mpm_prefork
模块的 Apache 2.2.3。
查看boot/System.map-2.6.18-308.1.1.el5
文件我可以找到:
ffffffff80122b12 T compat_sys_semtimedop
ffffffff80125203 T sys_semtimedop
但我既不确定其中之一是否是 semtim
,也不确定它们是什么semtim
意思。
这是一个 semtimedop 系统调用。
信号量是用于保持进程之间同步的值。
在您的示例中,“semtimedop”表示 apache 正在等待信号量变为零,等待发生直到值变为零或发生超时,因此进程被阻塞。
您没有提到这对您来说是否是个问题,所以我只能补充一点。