AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-268272

philh's questions

Martin Hope
philh
Asked: 2017-02-25 04:23:11 +0800 CST

来自 apache 的 408 错误,来自 dhclient 和 sshd 的“fork:无法分配内存”

  • 0

在过去的三个晚上,我有一个 EC2 服务器开始给出 408 错误以响应 Web 请求。当我早上进来的时候,我不能ssh进来;我必须使用管理控制台重新启动。dhclient 和 sshd 都给出了错误消息,上面写着“fork:无法分配内存”。

据我所知,这只发生在一台服务器上。每次细节都略有不同:

第一天晚上,它首先发生在 19:30 左右(根据 /var/log/messages),但仍然有“绑定到”消息。然后从20:00左右到20:30左右,有很多DHCPREQUEST,之后就没有成功绑定。sshd 错误从大约 21:10 开始(根据 /var/log/secure)。

第二天晚上,我们在 18:45 到 19:15 看到 DHCPREQUEST 行,然后开始出现 fork 错误。sshd 错误从 18:20 开始。

此时我通过 yum 升级了 dhclient,看看是否有帮助。(此时我还没有看到 sshd 错误。)它没有。

第三个晚上看起来和第一个晚上一样,18:30 出现分叉错误,19:00 到 19:30 出现 DHCPREQUEST。但随后在凌晨 4 点 15 分,OOM 杀手进来并杀死了一个 httpd 进程。OOM 杀手头两个晚上都没有出现。sshd 错误从 19:30 开始,在 4:15 出现很多“Received disconnected”错误。

AWS 开发人员论坛上的这个线程表明 dhclient 可能在环境变量中存在内存泄漏,但如果是这样,我看不到它。这似乎也不是一个缓慢的泄漏:它每天晚上都在早些时候发生,但是我在升级 dhclient 后于 17:00 重新启动了服务器,所以第三次它启动了不到两个小时。

我考虑过来自 apache 的内存泄漏,但它似乎与 apache 日志中的任何特定内容不相符,而且我无法通过同时向服务器发送多个内存密集型请求来触发它。在那种情况下,我希望 OOM 杀手整整三个晚上都参与其中。

apache 日志中有一件值得注意的事情,就是三个连续行的时间戳:24/Feb/2017:02:10:05, 23/Feb/2017:18:23:05, 24/Feb/2017:07 :03:20。这些请求中的第二个是 500,而不是 408。所以我猜该请求以某种方式运行了 8 小时或更长时间,这可能会占用内存。前两个晚上没有这样的事。

基本上,我不知道发生了什么。我目前的计划是在同一个归置组中启动一个新服务器,将域指向那个,然后让两者都运行,看看会发生什么。但我正在寻找有关如何诊断和解决此问题的建议。

更新

我已经按照用户ochach 的建议安装了一个简单的ps/cron 监视器后触发了这个。看来我确实是内存不足了, httpd 是罪魁祸首;我不知道为什么OOM杀手没有运行。

dhcp amazon-ec2 ssh apache-2.4 memory-leak
  • 1 个回答
  • 2351 Views
Martin Hope
philh
Asked: 2015-03-05 09:04:50 +0800 CST

这个通配符 SSL 证书是从哪里来的?

  • 2

我的公司在同一台服务器上托管 example.com 和 sub.example.com,对 *.example.com 使用通配符 SSL 证书。现在是时候更新我们的证书了,我们不确定我们是如何获得该证书的。我的老板不认为我们支付了他们看起来花费的 200 美元。我的老经理(几天前离开公司)是安装它的人,他不记得具体做了什么,但他认为他必须生成一些东西,而不仅仅是使用 CA 提供的文件.

apache 配置有这些行,没有其他未注释的 SSL*File 行:

SSLCertificateFile /usr/local/ssl/cert/example.com.crt
SSLCACertificateFile /usr/local/ssl/cert/intermediate.crt
SSLCertificateKeyFile /usr/local/ssl/private/example.com-wild.key

当我检查intermediate.crt(openssl x509 -in intermediate.crt -text -noout)时,它根本没有提到我们的组织或网站,它的有效期是2010-2020。

Data:
    Version: 3 (0x2)
    Serial Number: 145105 (0x236d1)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
    Validity
        Not Before: Feb 19 22:45:05 2010 GMT
        Not After : Feb 18 22:45:05 2020 GMT
    Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CAb

example.com.crt 是通配符:

Data:
    Version: 3 (0x2)
    Serial Number: 1113972 (0x10ff74)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
    Validity
        Not Before: Mar  1 09:05:39 2014 GMT
        Not After : Mar  4 09:08:54 2015 GMT
    Subject: serialNumber=T0nuTvfeaQVtd3dZ30zGI94HrvUsoRjx, OU=GT53409919, OU=See www.rapidssl.com/resources/cps (c)14, OU=Domain Control Validated - RapidSSL(R), CN=*.example.com

我不了解 SSL 基础设施,所以我想我有一堆相关的问题。如果它们完全不相关,我深表歉意;我不知道我不知道什么。

  • 如果我们不支付 200 美元或其他任何费用,我们是如何获得通配符证书的?(如果我们可以只用intermediate.crt 创建它,我会有点惊讶,因为那样我们可以一直生成它们直到2020 年。但是/usr/local/ssl 中没有其他文件,/etc/pki 中也没有其他文件/tls 自 2013 年以来已被修改,那么我们还能使用什么?如果我的老板只是记错了,我们确实支付了 200 美元或其他东西,我也会感到适度惊讶,但这对我来说似乎是可能的。)

  • 我们从哪里得到intermediate.crt?

  • middle.crt 有什么作用?我有一个自签名通配符证书,在我们的 beta 服务器上工作正常(除了它是自签名的),没有 SSLCACertificateFile 行;我们购买了一个非通配符证书来保护 example.com,我已经设法使用没有 SSLCACertificateFile 的 VirtualHost 安装了该证书,我们正在为我计划的 sub.example.com 获取证书以同样的方式安装。非自签名通配符证书是否需要 SSLCACertificateFile?

    我生成自签名证书的方式感觉可能是相关的:

    openssl req -nodes -new -keyout private/example.com.key -out certs/intermediate.csr
    openssl x509 -req -days 365 -in certs/intermediate.csr -signkey private/file.key -out certs/example.com.crt
    

    但在这种情况下,我不需要在 apache 配置中提及 middle.csr,并且不能openssl x509像 middle.crt 文件一样检查 middle.csr。

apache-2.2
  • 2 个回答
  • 184 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve