大神,我用过的是gateway worker,现在发现服务器cpu很高,于是用top指令查看了一下,如左图所示,上面几个进程都占了很多cpu,然后用cd /proc/PIDID查看了一下对应的pid,发现如图右所示,cwd指向的都是gatewayworker文件夹,请问大神这该如何处理
cpu高有可能是进程忙于处理业务。 也可能业务代码有bug比如无限添加定时器(php start.php status能看到定时器数量),业务代码死循环,业务代码执行了大的循环等等。 通过strace -ttp pid 追踪系统调用也能大概看出来进程在干什么。
大神,我用php start.php status查看的时候,有一个php警告:module 'event' already loaded in unknown on line 0,请问这是什么原因
event扩展重复加载了,不影响
@walkor 因为CPU过高,所以昨天重启了一下,然后今天的cpu和tcp都变的很奇怪,cpu一直在振动,tcp也不太稳定,不知道是什么原因,如图所示
从统计里看不出原因的。 按照手册超过1000连接要安装event扩展,并且严格按照workerman手册优化linux内核。 这些都做好了就从业务代码上找原因。
@1:在重启系统之前,我有在rc.local文件中加入‘/usr/bin/env php /磁盘/路径/start.php start -d’语句,参考自http://doc.workerman.net/faq/start-with-system.html,重启之后cpu就变成上面那张图了,然后就把这段程序给去掉了,并又重启了一下系统,观察下来发现cpu又变得稳定了,请问这个语句会影响系统吗?我添加这段语句是直接打开文件然后写入语句,并不是通过linux指令添加这段程序的,这会有区别吗?
cpu高的时候用strace -ttp pid 来定位
cpu高有可能是进程忙于处理业务。
也可能业务代码有bug比如无限添加定时器(php start.php status能看到定时器数量),业务代码死循环,业务代码执行了大的循环等等。
通过strace -ttp pid 追踪系统调用也能大概看出来进程在干什么。
大神,我用php start.php status查看的时候,有一个php警告:module 'event' already loaded in unknown on line 0,请问这是什么原因
event扩展重复加载了,不影响
@walkor 因为CPU过高,所以昨天重启了一下,然后今天的cpu和tcp都变的很奇怪,cpu一直在振动,tcp也不太稳定,不知道是什么原因,如图所示
从统计里看不出原因的。
按照手册超过1000连接要安装event扩展,并且严格按照workerman手册优化linux内核。
这些都做好了就从业务代码上找原因。
@1:在重启系统之前,我有在rc.local文件中加入‘/usr/bin/env php /磁盘/路径/start.php start -d’语句,参考自http://doc.workerman.net/faq/start-with-system.html,重启之后cpu就变成上面那张图了,然后就把这段程序给去掉了,并又重启了一下系统,观察下来发现cpu又变得稳定了,请问这个语句会影响系统吗?我添加这段语句是直接打开文件然后写入语句,并不是通过linux指令添加这段程序的,这会有区别吗?
cpu高的时候用strace -ttp pid 来定位