我有一个Linux系统与Apache的httpd和PHP使用LoadModule php5_module /usr/lib/apache2/modules/libphp5.so加载。 我已经启用了Apache的mod_status模块,我看到一个特定的线程,从昨天开始就停滞不前。 我也通过做ps -axu | grep apache证实这一点 在许multithreading中,它给了我特定的卡住的线程: www-data 5636 0.0 0.1 423556 23560 ? S XXXXX 0:04 /usr/sbin/apache2 -k start 请注意,XXXXX就像昨天的Jan02一样。 另外,pid(5636)与我在apache的mod_status页面中看到的卡住线程的pid匹配。 我的问题是:我怎么能做一个线程转储或类似的东西,看看在哪里确切地在PHP代码中卡住这个东西? 也许它正在等待(I / O,networking,数据库),但我不知道是什么。 在java世界中,我会做一个kill -3 pid并获得一个可读的线程转储,清楚地显示出特定线程在哪里被卡住。 有没有类似的技术的PHP土地?
运行exim服务的linux服务器没有负载。 系统正在成功发送电子邮件,但发送每封电子邮件需要很长时间。 基本上,如果我telnet到本地端口25端口,然后我尝试从那里发送一个电子邮件从服务器的响应是超级慢。 我们在那里运行的邮件应用程序需要8分钟以上才能发送4封电子邮件。 有没有人曾经与EXIM面对过这个问题,也许你现在可能是什么让EXIM等待这么久的设置。 我正在查看日志,我看不到任何指示错误的东西。 在mainlog的示例下面: 2009-08-10 07:21:05 H =(aurl.domain.ni)[127.0.0.1]警告:发件人速率4.6 / 1h 2009-08-10 07:21:29 1MaTsX-0000mw-Oe <= [email protected] H =(aurl.domain.ni)[127.0.0.1] P = esmtp S = 22003 id = 67402024.1249906753667.JavaMail.root @ aurl.domain.ni 2009-08-10 07:21:54来自(domain.com)的连接上的SMTP命令超时[127.0.0.1] 2009-08-10 07:22:42 1MaTsX-0000mw-Oe ** [email protected] R = lookuphost T = remote_smtp:远程邮件服务器发出的SMTP错误RCPT TO :: host mx3.earthlink.net [209.86.93.228 ]:550 [email protected] …用户未知 2009-08-10 07:22:42 1MaTti-0000nM-3b […]
* nix机器上的“负载平均值”是“运行队列的平均长度”,换句话说,是正在做某事(或等待某事)的进程的平均数量。 虽然这个概念很简单,但是要解决这个问题并不那么直截了当。 以下是我今天工作的服务器上的统计信息,这让我想知道解决这类问题的最佳方法。 统计数据如下: 1GB RAM免费,0交换空间使用 CPU使用率约20%,30%等待,50%空闲(根据上图) 在“R”或“D”状态下,每次大约有2到3个进程(使用ps | grep进行testing) 服务器日志没有任何错误消息指示硬件问题 平均负载约25.0 (全部3均值) 服务器显然对用户没有响应 我最终通过重新启动MySQLd来“修复”这个问题,这并没有什么意义,因为根据mysql的“show processlist”命令,服务器在理论上是空闲的。 我应该使用哪些其他工具/指标来帮助诊断此问题,并可能确定导致服务器负载运行如此之高的原因?
阅读日志文件可能会非常令人沮丧,因为从本质上讲,他们的内容对开发者来说,就像是问题本身一样。 (例如:“google是你的朋友”还是“某些错误代码比别人更多”或“记住警告和错误是非常不同的”)?
我在一个拥有30名员工的4000平方英尺办公室里为非营利组织工作。 所有笔记本电脑都以无线方式连接到networking。 我们有一个交换机(TP-Link TL-SF1008D以太网交换机)和三个作为AP(TP-Link TD-W891ND)的路由器,其中一个路由器作为调制解调器。 主要活动包括电子邮件,Dropbox和下载/上传文件。 我们刚刚把我们的互联网软件包升级到了12Mbps(正如广告所宣称的那样),但是大部分时间,互联网连接仍然非常缓慢,即使办公室人员不到一半。 许多人不能连接到AP,可靠,即使他们这样做,连接速度慢。 我有一个感觉,这个问题有更多的与networking设置,而不是带宽。 任何人都可以指出我正确的方向,我需要寻找解决scheme?
我有一个新的Ubuntu服务器11.10安装,我通过PuTTylogin到SSH。 当我在屏幕内时,我不能使用向上的箭头来回忆bash的历史(尽pipe这在屏幕之外)。 我似乎无法findInterwebs上的完全相同的问题(尽pipe许多类似的问题)。 我的.screenrc如下: # Look and feel caption always "%{= bb}%{+bw}Screen: %n | %h %=%t %c" hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # Our warning of activity activity "Activity in %t(%n)" # Left Right meta key mods #ALT-,. and ALT-<> bindkey "^[<" eval number !echo $WINDOW-1|bc bindkey "^[>" eval number !echo $WINDOW+1|bc bindkey "^[," prev […]
要做的最困难的事情之一是培训系统pipe理员以一致的方式解决问题(思考),特别是在压力下,紧急响铃等等。 对于一些培训课程,我想用一些简单而合理的步骤提出一个“消防演习”的集合,可以缩小问题的范围。 例如: 网站closures 缩小内部networking,外部networking还是两者? 从一个位置还是全球? DNS – 是否解决? 端口 – 是否打开? 它是响应吗? (使用Telnet) 主机头 – 正确? Web服务器 – 事件查看器中的错误? 如果你可以添加一个“演习”,这将是非常有帮助的。 其他培训系统pipe理员思维的方式也受到欢迎。
定期监视和排除sql server性能问题的最佳工具和stream程是什么?
假设我有一个在UNIX系统上运行的应用程序,系统错误状态为'13'。 现在,我可以很容易地在errno.h中查找这个值,发现这是一个权限被拒绝的问题。 > grep -w 13 /usr/include/errno.h #define EACCES 13 /* Permission denied */ 有一个简单的命令来检索这些信息? 我想能够运行这样的东西: > lookuperror 13 EACCES (Permission denied) 而不是系统头文件。 这样的命令/程序是否存在? 更新:正如在下面的答案中指出的, strerror()系统调用返回这个信息。 是否有任何UNIX操作系统附带一个可执行的实用程序,使这个系统调用,或者我需要编写自己的程序来做到这一点?
我刚刚build立了一个Linux服务器,debian squeeze,2.6.32-5-amd64,过去一周它重启了三次,一天两次。 没有停电,我知道(它运行在一个UPS),并没有在系统日志中的错误,除了在启动几个预计之外做清除条目在ext4日记由于不洁的关机。 我可以采取哪些步骤来确定重新启动的原因? 有没有办法让它挂起而不是重新启动,所以我可以复制堆栈跟踪或什么东西离开屏幕? 任何方式来增加debugging信息,或得到它转储的东西到磁盘,或者什么?