具体来说,我想编辑系统配置变量 ARG_MAX 的值。 (它是在 2.6.23 之前的内核上预设的,我想增加它。)
我该怎么做呢?这需要编辑内核吗?
这是在 RHEL/CentOS 上。
答案1
返回的值getconf(1)
不是变量,它们主要是限制某些标准(主要是 POSIX)定义的系统值。
相关标准定义的许多最小值都太小(标准通常定义最小可用值,以便能够覆盖甚至非常有限的环境;为了不过度限制更大的安装,允许有更大的限制。并且这样你就可以知道你得到的限制是什么getconf(1)
)。
在 Linux 的情况下(这里是 Fedora 18), 的值ARG_MAX
是一个大得离谱的 2097152 (相当于 2MiB 的参数!)。如果您需要更多,则必须认真重新考虑。用于xargs(1)
批量处理参数列表,或者在生成参数列表时对其进行处理,而不是批量处理它们。