我目前正在运行一个服务器,只是运行几个非常低的stream量站点的CPU高。 其中一个网站还在开发中,不久即将上线。 然而,这个网站是非常非常缓慢的…当浏览其页面,我可以看到,httpd的CPU从30%到100%(见上面的输出下面)。 我已经调整了httpd&MySQL,Apache Solr,Tomcat的高性能,而且我正在使用APC。 不知道该怎么做,或者如何find罪魁祸首,因为我有一堆消息在httpd日志,并已追逐死胡同一段时间…任何帮助,非常感谢。 服务器: Authentic AMD,四核AMD Opteron(tm)处理器2352,RAM 16GB Linux 2.6.27 64位,Centos 5.5 Plesk 9.5.4,MySQL 5.1.48,PHP 5.2.17 Apache / 2.2.3(CentOS)DAV / 2 mod_jk / 1.2.15 mod_ssl / 2.2.3 OpenSSL / 0.9.8e-fips-rhel5 PHP / 5.2.17 mod_perl / 2.0.4 Perl / v5.8.8 Tomcat6-6.0.29-1.jpp5,Tomcat-native-1.1.20-1.el5,Apache Solr 最佳 17595 apache 20 0 1825m 507m 10m R 100.4 3.2 […]
给定如下的内核堆栈跟踪,如何确定发生问题的特定代码行? kernel: [<ffffffff80009a14>] __link_path_walk+0x173/0xfb9 kernel: [<ffffffff8002cbec>] mntput_no_expire+0x19/0x89 kernel: [<ffffffff8000eb94>] link_path_walk+0xa6/0xb2 kernel: [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b kernel: [<ffffffff800238de>] __path_lookup_intent_open+0x56/0x97 kernel: [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14 kernel: [<ffffffff8001b222>] open_namei+0xea/0x712 kernel: [<ffffffff8006723e>] do_page_fault+0x4fe/0x874 kernel: [<ffffffff80027660>] do_filp_open+0x1c/0x38 kernel: [<ffffffff8001a061>] do_sys_open+0x44/0xbe kernel: [<ffffffff8005d28d>] tracesys+0xd5/0xe0 虽然我没有find函数调用的麻烦 – 但是将__link_path_walk加偏移量转换为实际的行号是困难的部分。 假设这是一个标准的分配提供的内核,我知道确切的版本和内部版本号,那么获取必要的元数据和进行相应的查找的过程是什么?
我在运行Windows Server 2003 r2的ESXi上遇到虚拟机问题。 问题是每次启动并显示login窗口时,机器都会重新启动,不会有警告,也不会有警报,也不会有任何警报。 不pipe我做什么,我只需等待几秒钟,或者我可以login并尝试做一些事情,结果是一样的。 另一方面,如果我加载最后一个已知的良好configuration,则系统正常工作。 这里的事情是,我不能设置该configuration为默认的,因为在下一次重启,如果我select正常启动问题再次出现。 所有这些事实似乎都指向某种注册局的腐败行为。 值得知道这个服务器运行几个关键的应用程序,所以我必须通过这个问题。 服务器运行的关键应用程序是SIOPEL( http://www.siopel.com.ar/ ) 我也尝试重新安装Windows以修补registry。 这个问题已经解决了一段时间,但是当服务器投入使用后,问题又回来了。 所以在这一点上,我只能认为应用程序对于破坏整个系统的registry来说是一件非常糟糕的事情,或者也许是所有这些都是由Windows更新造成的; 我认为前者更可能。 接下来我尝试的是内核debugging。 我是内核debugging领域的新手,但是我觉得很奇怪,即使连接了内核debugging器,系统也会重新启动,除了加载的模块和其他一些线路,不知道是什么原因导致了这种行为。 我必须问,如果是驱动程序或故障服务,不应该在内核exception之后logging这些内容并打破它。 如果这是registry腐败, 好吧,这是场景,我想我现在必须做的是再次重新安装Windows,并开始跟踪和logging所有types的写入registry希望find一个线索。 我也认为这是服务器的应用程序之一,但我不知道哪一个,我也不能探测它。 有谁知道我该如何logging应用程序在registry中执行的所有活动? 任何types的build议或指导将非常感激。 提前致谢!
在工作中,我们有一个老的C程序,与霍尼韦尔的工业手持terminal一起工作。 该terminal有自己的SSH客户端连接到一个Linux的红帽6.6服务器。 一旦它被连接到Linux机箱(使用某个用户),一个C程序由bash shell用以下参数启动 export TERM=vt200 stty raw icrnl -echo $APLI_EXEC/program param1 param2 所以stream程就像=>客户端ssh – > ssh服务器 – > bash – > c程序 应用程序(或似乎)工作正常,但有时(每周1-3-5次)随机terminal停止从服务器接收数据,但应用程序接收来自它的input。 这就好像你在一个shell中写入Ctrl + S。 使用stracedebugging应用程序和ssh进程我意识到一些奇怪的事情: 应用程序strace是好的 write(1, "1", 7) = 1 但是,ssh进程的strace并不好(我认为…是的,我看到了ioctl no echo参数,但是…) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 read(3, "\227\316\242\350\261\330)\300e\210\352\367\2VX\24\305\2474\272\371\34\273n{\323p.\211\17H\327"…, 16384) = 48 select(14, […]
我知道碎片通常在垃圾回收收集的对象被标记为“空闲”块时发生,但占用下一个地址空间的对象被locking。 我可以得到一个Free对象的列表,但似乎无法找出它旁边的固定内容。 我转储对象,find它的大小,然后将其大小添加到原始对象地址,以获得下一个对象,如下所示: 0:000>!do 0a2467c8自由对象大小438312(0x6b028)个字节 0:000>!do 0a2467c8 + 438312无效的对象 我永远无法得到下一个固定的对象来显示。 它总是无效的。 我在这里做错了什么?
我只接pipe了一个拥有三个域控制器(2003/2008 Standard)的中型企业的IT部门,每当我创build一个新用户时,经过一段时间后,用户帐户无法loginnetworking上的大多数机器。 我已经追溯到“login到…”区域成为填充一个小的机器列表。 即使我把这个选项设置到所有的电脑上,这个清单也会在一段时间后回来。 我开始在所有的域控制器上searchvbs和ps1脚本,并在其中join了“工作站”这个词,以查看是否有某种脚本可以被指责,但是我至今还是空手而归。 有没有一个知名的软件套件可以导致这个(微软的Forefront等)? 我怎样才能弄清楚是什么导致这个列表改变? 编辑 我在tonyr roth的build议中打开了审计,现在我看到其中一个域控制器的SYSTEM帐户正在定期写入userWorkstations属性。 系统帐户是否意味着某种服务或计划任务? 编辑 http://www.experts-exchange.com/Software/Server_Software/File_Servers/Active_Directory/Q_24106718.html 似乎有我的解决scheme,EBS许可。 编辑 微软的EBS已经停产,如果你购买了它,你可以在2010年6月30日到2010年12月31日之间免费获得这些组件。 hp tp://www.microsoft.com/ebs/en/us/offers.aspx
可能是一个问题。 我有一个IIS服务器,我可以托pipe我们的网站。 但是,如果我在一个现有的网站上托pipe相同的网站作为一个应用程序,它会给我们一个500错误。 但我的问题是我怎么去debugging呢? 事件日志显示没有相关的条目,IIS日志只显示HTTP GET消息,但没有错误,禁用“显示友好的HTTP错误”什么都不做,失败的请求跟踪configuration,但是空的。 我如何find错误? 这是一个ASP.NET网站
在Windows Server 2008 R2相对较新的安装中,偶尔会出现关于即时debugging的popup消息。 当search机器人访问一个aspx应用程序时,这些可能会出现在w3wp.exe中。 这些消息是本地Windowspopup窗口,不在浏览器中。 我不能debugging“即时”,但是,因为没有和从来没有在服务器上的任何debugging器。 微软很友善地告诉我,我没有一个VS2010许可证来debugging,当我点击debugging。 这使popup消息非常无用,特别是因为我通常在事实发生后几天才看到它们。 我怎样才能禁用即时debuggingpopup消息?
背景: 我最近已经负责在Debian(Lenny)Unix服务器上安装ISC DHCPD(4.2.5-P1)安装程序来查找内存泄漏的根源和/或修复内存泄漏。 我一直在研究这个问题已经一个多星期了,并且已经获得了很多关于这个系统确实在泄漏的信息,但是我还没有find一个实际的答案来解释为什么这个系统是或者如何停止的。 我目前有: 在vgdb模式下使用valgrind来检测内存泄漏并允许对代码进行在线检查 使用valgrind发现了两个可能的泄漏起点 用CFLAGS=-DDEBUG_MEMORY_LEAKAGE_ON_EXIT编译DHCPD源(这似乎是停止内存泄漏) 运行新编译的DHCPD二进制文件作为dhcpd -6 -d -cf /etc/dhcpd6.conf 使用以下脚本在72小时内以10分钟的间隔拍摄了vsz和rss二进制文件的快照 脚本: #!/bin/bash #probably could have used watch while [[ 0 -eq 0 ]]; do ps -eo vsz,rss,command | grep "dhcpd6.conf" | grep -v grep >> memory-usage.txt sleep 600 done 我对VSZ和RSS做了一点研究。 如果RSS大小保持不变,但VSZ大小增加,则表明存在明显的内存泄漏。 但是,在我的情况下,VSZ和RSS都在增加。 [开始大小第1天:VZS = 8560 RSS = 6292 =>结束大小第3天:VZS = 67168 […]
如果您执行以下操作: – name: print to stdout command: echo "My log information" register: logdata – debug: msg="{{ logdata.stdout }}" logdata寄存器variables的内容将与完整的日志一起显示。 我想这些debugging消息被存储在另一个文件中。 这是可能的任何手段? 我想到的另一种select是有一个寄存器variables的数组。 最后使用copy模块将该数组的内容放到一个文件中。 不是最好的select。 如果可以将debug的标准输出redirect到另一个文件,那就太酷了。