Linux
如何確定分配給命令行的空間量?
如何確定為命令行分配給他們的系統的空間量。還有什麼我需要關心的嗎?
xargs
我知道的一種方法是
xargs
用來找出這些資訊。$ xargs --show-limits --no-run-if-empty < /dev/null Your environment variables take up 4791 bytes POSIX upper limit on argument length (this system): 2090313 POSIX smallest allowable upper limit on argument length (all systems): 4096 Maximum length of command we could actually use: 2085522 Size of command buffer we are actually using: 131072
獲取配置
顯示的限制
xargs
源自此系統配置值。$ getconf ARG_MAX 2097152
諸如此類的值通常在系統上“硬編碼”。有關
man sysconf
這些類型的值的更多資訊,請參閱。我相信這些類型的值可以在 C 應用程序中訪問,例如:#include <unistd.h> ... printf("%ld\n", sysconf(_SC_ARG_MAX));
參考