gpt4 book ai didi

apache - 当 WCHAN = flock_lock_file_wait 时如何判断 Apache 正在等待哪个文件

转载 作者:行者123 更新时间:2023-12-04 18:30:56 25 4
gpt4 key购买 nike

我们的网络服务器出现问题,越来越多的 Apache 进程卡住等待文件锁定(由 PHPflock() 引起)以某种方式解决,但从未解决。最终站点变得越来越慢,最后完全停止,直到 Apache 重新启动。

我正在研究某种错误代码背后的理论,也许是在我们自己开发的磁盘缓存机制中。但我无法追踪它。 (我们在 Ubuntu 上运行。)

我的问题是,我怎样才能知道它卡在了哪个文件或哪些文件上?如果我能看到挂断在哪里,我就可以更容易地找出错误代码在哪里。当我执行此命令时:

ps -o pid,tt,user,fname,wchan -C apache2 

我明白了:
  730 ?        www-data apache2  flock_lock_file_wait  
3085 ? www-data apache2 flock_lock_file_wait
5393 ? www-data apache2 flock_lock_file_wait
5397 ? www-data apache2 flock_lock_file_wait
11181 ? www-data apache2 flock_lock_file_wait
30280 ? www-data apache2 flock_lock_file_wait

我有什么办法可以从这里查看 Apache 锁定/等待的确切文件吗?

最佳答案

您必须使用 lsof 实用程序:

apt-get install lsof

lsof 意思是列出打开的文件。用它可以做很多事情, lsof -ni例如,将列出打开的网络连接。对于您的 apache 进程,您必须使用 -p 选项(PID):
lsof -p 730

你会得到所有打开的文件和库(一切都是linux上的文件),所以很明显你会得到你的锁文件。

关于apache - 当 WCHAN = flock_lock_file_wait 时如何判断 Apache 正在等待哪个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7151221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com