我的服务器(ubuntu 8.04)LAMP运行drupal 6,当有高流量时,它停止提供页面.重启apache2将无法正常工作,因此我必须重新启动该服务.
我在apache2 error.log中找到了这条消息
[通知]抓住SIGWINCH,优雅地关闭
另外我注意到当apache停止响应时,apache2的进程ID大约为12000.
更新
正如您所指出的,捕获的SIGWINCH是apache服务重新启动的通知.我和最大客户一起玩,并保持活力.我将MaxClients设置得太低,所以我得到了"服务器达到MaxClients设置,考虑提高MaxClients设置"错误,但修复了这个问题.
关于PID,我的安装已经安装了prefork模块,因此在达到MaxRequestPerChild后,它会回收子进程.这就是PID定期上升的原因.仍然没有弄清楚为什么一段时间后apache停止响应.
同时将尝试上升MaxRequestPerChild,以便PID不会快速达到PID max.当前限制是32768(这是新debian和ubuntu安装的标准).
这里有更多来自日志:
[2009年4月24日星期五01:48:56] [通知]抓住了SIGWINCH,优雅地关闭了
[Fri Apr 24 01:50:07 2009] [通知] Apache/2.2.8(Ubuntu)PHP/5.2.4-2ubuntu5.3配置了Suhosin-Patch - 恢复正常操作
[2009年4月24日星期五17:13:35] [错误] [客户端195.70.62.131]客户端发送没有主机名的HTTP/1.1请求(参见RFC2616第14.23节):/ w00tw00t.at.ISC.SANS.DFind :)
[2009年4月24日星期五17:36:00] [错误] [客户端212.188.33.4]客户端发送没有主机名的HTTP/1.1请求(参见RFC2616第14.23节):/ w00tw00t.at.ISC.SANS.DFind :)
[Sat Apr 25 20:05:07 2009] [错误] [客户端84.243.222.12]请求中的URI无效GET HTTP/1.1 HTTP/1.1
[Sat Apr 25 20:05:12 2009] [错误] [客户端84.243.222.12]脚本未找到或无法统计:/ usr/lib/cgi-bin/twiki
[Sat Apr 25 20:05:12 2009] [错误] [客户端84.243.222.12]脚本未找到或无法统计:/ usr/lib/cgi-bin/wiki
[Sat Apr 25 20:05:12 2009] [错误] [客户端84.243.222.12]脚本未找到或无法统计:/ usr/lib/cgi-bin/wikis
[2009年4月25日星期六21:46:46] [错误] [客户端211.68.23.167]请求中的URI无效GET HTTP/1.1 HTTP/1.1
[Sun Apr 26 06:13:47 …
我正在编写一个传递List <AssetMovements>的方法,其中AssetMovements看起来像
public class AssetMovements
{
public string Description { get; set; }
public List<DateRange> Movements { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望能够将这些对象展平为所有Movements的列表而不管Description如何,并且我试图找出我需要执行此操作的LINQ查询.我以为
from l in list select l.Movements
Run Code Online (Sandbox Code Playgroud)
会这样做并返回IEnumerable <DateRange>但它返回IEnumerable <List <DateRange >>并且我不确定如何纠正这个.有什么建议?
是否有像IDE库的Reflector这样的工具?我想打开一个COM库并浏览类和接口,就像在Reflector中一样.如果可能的话,我宁愿不安装Visual Basic 6.0来执行此操作.
是否有一个方法返回符合NSKeyValueCoding协议的对象的所有键?
沿着这条线的东西[object getPropertyKeys]将返回NSString对象的NSArray.它适用于任何符合KVC标准的对象.这种方法存在吗?到目前为止,我还没有找到任何搜索Apple文档的内容.
谢谢,G.
cocoa properties introspection objective-c key-value-observing
我正在创建和链接共享库(.so).在与他们合作时,出现了许多问题,当我搜索它们时,我找不到令人满意的答案,因此将它们放在这里.关于共享库的问题是:
1.)共享库与静态库有何不同?它们的创建方式有哪些主要区别?它们的执行方式是什么?
2.)如果共享库在什么位置是加载和运行共享库中特定函数的地址,给定?谁给这些功能是加载/运行地址?
3.)与使用静态库链接的应用程序相比,链接到共享库的应用程序执行速度会慢吗?
4.)这两种情况下应用程序的可执行文件大小是否不同
5.)可以通过步入共享库中定义的函数来进行源级调试吗?是否需要额外的东西才能使这些功能对应用程序可见?
6.)使用任何一种库有什么利弊?
谢谢.
-广告
当我读到这个(找到数组中最常见的条目)时,建议使用Boyer和Moore的线性时间投票算法.
如果您点击该站点的链接,则会逐步说明该算法的工作原理.对于给定的序列,AAACCBBCCCBCC它提供了正确的解决方案.
当我们将指针向前移动到元素e上时:
- 如果计数器为0,我们将当前候选设置为e,并将计数器设置为1.
- 如果计数器不为0,我们根据e是否是当前候选者来递增或递减计数器.
当我们完成时,如果存在多数,则当前候选者是多数元素.
如果我在一张纸上使用这个算法AAACCBB作为输入,建议的候选人将成为B显然是错误的.
我认为,有两种可能性
AAACCBBCCCBCC,完全不称职,应该当场解雇(怀疑).注意:这是Niek Sanders 的算法的C++实现.我相信他正确地实现了这个想法,因此它有同样的问题(或者不是吗?).
NHibernate中是否存在批量更新命令?据我所知,它没有.那么处理这种情况的最佳方法是什么?我想做以下事情:
List<User>从数据库中获取对象列表(让我们称之为用户列表)Users.Foreach(User=>User.Country="Antartica")Users.Foreach(User=>NHibernate.Session.Update(User)).Session.Flush更新数据库.这是一个好方法吗?这会导致我的代码和数据库之间的往返很多次吗?
你怎么看?还是有更优雅的解决方案?
class One {
public One foo() { return this; }
}
class Two extends One {
public One foo() { return this; }
}
class Three extends Two {
public Object foo() { return this; }
}
Run Code Online (Sandbox Code Playgroud)
public Object foo() { return this; }抛出编译错误.这是为什么?有人可以解释为什么"对象"类型不可能吗?对象是Class One,Two的基类吗?如果那么为什么会抛出错误?
请更改问题的标题,因为我找不到合适的标题.
我需要以华而不实的眼睛方式开发业务应用程序的一部分.因此想看看我是否可以使用DirectX.这就是我得到的.
首先,我阅读了如何使用C/C++就像是徒步拍摄自己,我应该使用DirectX.NET.我不能不同意.这是21世纪.
下载了DirectX SDK,但在那里找不到.NET程序集.现在搜索网络显示,DirectX .NET(称为MDX)现已过时(2006年发布).我应该使用XNA而不是主要为XBOX开发的.
下载XNA.但它不会安装,因为我没有C#.NET Express 2005 SP1.在我的VS Pro 2005上安装了SP1.但它仍然无法安装.它需要Express 2005而且恰好是单一版本,而不是Pro,显然不是2008.
沮丧的尝试下载免费的C#.NET Express.但是来自MS的链接说C#.2005实际上下载了C#.2008,因为C#.2005现在已经过时了.
而现在我读到MS现在正在推动WPF/silverlight的发展.并且XNA不支持DX10,Vista不附带DX9.
现在我有两个选择:
回到15年前,用普通的旧C/C++编写代码.至少C证明自己是永恒的.
试试silverlight.
你的建议是什么?或者我错过了什么?
Udpate:想补充说DX10不能向后兼容任何其他DX版本.SlimeDX看起来真的很有希望.但作为一个非常新的包,我不确定文档和教程会有多大帮助.
Udpate 2:谷歌在搜索我使用的XNA下载时出现的第一个下载链接似乎不是最新的链接.感谢DouglasH提供v.3的链接.下载它.可能它会起作用.
然后是agian.我应该切换到WPF/Silverlight吗?或者去XNA?哪一个更好记录和未来专业?
更新更新:Vista真的没有预装DirectX 9 [通过谷歌检查].至少它去年没有在我的机器上.谷歌搜索显示我必须在从MS下载后在Vista上手动安装DirectX 9.但我的表现失败beucase硬件驱动程序DX9/vista丢失或无法正常工作.我认为它不受支持.
我目前正在开发一些设置屏幕,其中大多数都包含左栏中带有首选项问题的2列表单,右侧是表单元素.
问题是这样的:
可以添加/编辑其他用户吗?
可以删除客户吗?
显然,此设置是二进制设置,大多数UI"专家"会坚持使用复选框作为相应的表单元素.
但是,当我用复选框模拟表单时,它看起来不友好,似乎很难将复选框的状态与问题联系起来.
我将表单更改为使用两个单选按钮:
- 是啊否
我个人认为这更容易处理,因为选项实际上是左边提出的问题的答案.
在点击它方面对用户没有任何影响,每次只需单击一次即可更改设置.
您对单选按钮的使用有何看法?这比复选框更好还是更糟?为什么?
algorithm ×1
apache2 ×1
class ×1
cocoa ×1
com ×1
directx ×1
java ×1
linq ×1
nhibernate ×1
objective-c ×1
properties ×1
puzzle ×1
reflector ×1
silverlight ×1
ubuntu ×1