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-36004

Haluk's questions

Martin Hope
Haluk
Asked: 2012-09-13 02:43:36 +0800 CST

查找 apache 进程正在写入哪些文件?

  • 0

我们有这个 apache 进程,它不时变成 io-bound。使用atop可以看出是写操作。

使用lsof -p <PID>我们可以看到 httpd 进程打开的文件列表。首先我们认为“日志”文件一定是问题所在。所以我们将它们关闭只是为了测试。但是写入操作仍在继续。

我们将继续测试其他一些东西。例如,我们经常使用 php 会话变量。也许 php 会话文件得到了所有的写作。

但是有没有办法快速识别被 httpd 进程写入的文件?这样我们就可以集中精力处理这些文件。

更新:

我们按照建议使用了 strace 命令。这是输出中的两行。

write(23, "\27\0\0\0\3SET CHARACTER SET utf8", 27) = 27
write(23, "\17\0\0\0\3SET NAMES utf8", 19) = 19

我们在此服务器上没有 mysql 进程。那么 strace 是否也显示了正在写入以太网端口的内容?

UPDATE2:在高 io 负载期间,消耗大部分写入资源的进程将以下输出提供给strace -e trace=write -p <PID>:

--- SIGCHLD (Child exited) @ 0 (0) ---
write(9, "!", 1) = 1
write(19, "OPTIONS * HTTP/1.0\r\nUser-Agent: Apache (internal dummy connection )\r\n\r\n", 70) = 70

但是我无法弄清楚这些被写入的位置。

UPDATE3:尝试了以下命令,它将向我显示所有打开以进行写入的文件:

lsof | grep -e "[[:digit:]]\+w"

以下是我无法检查的仅有的两行。其他文件没有显示任何重要的写入活动。是否可以将以下项目暂时写入硬盘?

httpd     14173       apache    9w     FIFO                0,6           205676000 pipe
httpd     14173       apache    1w      CHR                1,3                3346 /dev/null

找到的原因:
最后我们发现 io-boundness 的原因是 php 会话文件。将 php 会话文件移动到另一个硬盘驱动器也会立即将 io-boundness 移动到该硬盘驱动器。可能我们会将会话移动到 Redis 或其他基于内存的系统。有趣的是,尽管下面的答案在技术上是正确的,但它们并没有引导我们找到会话文件,而是让我们继续查看系统的不同点。

apache-2.2
  • 3 个回答
  • 3954 Views
Martin Hope
Haluk
Asked: 2012-08-02 16:59:43 +0800 CST

在 Linux 中检测文本文件中的新行并通过电子邮件发送新行

  • 3

有这个日志文件,我们希望密切关注它。通常它不会收到任何更新。但是每周更新一次或两次,我们希望在更新时收到通知。

有什么方法可以例行检查(cron-job)并检测此类文本文件中的更改,并让 linux 发送有关更改的电子邮件。如果电子邮件中包含新行,那也很好,但我们可以在没有后者的情况下生活。

linux
  • 2 个回答
  • 237 Views
Martin Hope
Haluk
Asked: 2010-03-15 16:48:53 +0800 CST

使用 plesk 在 centos 5.2 上安装 SSL 时出现问题

  • 0

我正在尝试将 ssl 证书安装到专用的 centos 5.2 服务器。我遵循了托管公司的指示,但 ssl 无法正常工作。

当我尝试使用 https 访问我的网站时,Firefox 出现以下错误:

使用无效的安全证书。证书于 2010 年 3 月 13 日上午 11:56 过期。(错误代码:sec_error_expired_certificate)

我不确定问题出在哪里。您还应该知道该服务器已安装 plesk,即使我没有使用它,它也可能会以某种方式覆盖我的 httpd.conf 或 ssl.conf。

谢谢!

centos apache-2.2 ssl
  • 1 个回答
  • 658 Views
Martin Hope
Haluk
Asked: 2010-02-26 01:25:07 +0800 CST

如何确定我的 apache 服务器上是否安装了 mod_security?

  • 5

如何确定我的 apache 服务器上是否安装了 mod_security?我也想了解它的版本。

我遇到了一些上传问题,我尝试使用 .htaccess 禁用 mod_security。但这开始产生 500 个内部服务器错误。

我在某处读到,根据我的 mod_security 版本,我可能无法使用 .htaccess 禁用它。所以我想了解我是否安装了 mod_security 以及它是什么版本。

我在一个centos 5盒子上。

谢谢!

更新 -1 xxxxxxxxxxxxx

以下输出是否意味着我没有安装 mod_security?

[root@u11 htdocs]# httpd -l

Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
centos apache-2.2 mod-security
  • 2 个回答
  • 26384 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