gpt4 book ai didi

php - 如何找出 fork child 的最佳数量

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:42 24 4
gpt4 key购买 nike

我有一个全面的 PHP 脚本(在 Linux 上),偶尔需要进行大量的网络通信。为此,它 fork 了许多 child 。问题是脚本如何识别它们的最佳数量?如果数字太大,服务器就会耗尽物理内存, children 就会开始交换——性能受到损失。那么如何才能获取真实的可用物理内存量呢?由于显而易见的原因,“免费”命令无法告诉我真实情况。

最佳答案

free 将为您提供第二行的正确图片(不包括带标题的行)。下面是一个示例输出:

             total       used       free     shared    buffers     cached
Mem: 2060420 1754008 306412 0 97264 1013548
-/+ buffers/cache: 643196 1417224
Swap: 1951888 0 1951888

第一行中的空闲列非常无用,因为磁盘缓存也在那里。您很少需要第一行有任何可用内存。另一方面,在第二行中,减去磁盘缓存。这就是机器当前真实的内存使用情况!

这是一个 PHP 函数,用于读取和解析 GNU free 的输出:

// Get system mem usage in kilobytes
// Returns: array($used, $free), or false on failure
function memory_usage() {
exec('free -k', $lines, $error);
if ($error) return false;
$cols = preg_split('/\s+/', $lines[2]);
return array((int) $cols[2], (int) $cols[3]);
}

// Usage:
list($used, $free) = memory_usage();
printf("used: %d\nfree: %d\n", $used, $free);

关于php - 如何找出 fork child 的最佳数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197053/

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