На Linux максимальная сумма пространства для аргументов команды является 1/4-й из количества доступного стекового пространства. Так, решение состоит в том, чтобы увеличить сумму пространства, доступного для стека.
Короткая версия: выполните что-то как
ulimit -s 65536
Более длительная версия: сумма по умолчанию пространства, доступного для стека, является чем-то как 8 192 КБ. Вы видите сумму доступного пространства, следующим образом:
$ ulimit -s
8192
Выберите большее число и установите сумму пространства, доступного для стека. Например, если Вы хотите попытаться позволить до 65 536 КБ для стека, выполнить это:
$ ulimit -s 65536
Вы, возможно, должны играть вокруг с тем, насколько большой это должно быть, с помощью эмпирического. Во многих случаях это - быстрое-и-грязное решение, которое избавит от необходимости изменять команду и разрабатывать синтаксис find
, xargs
, и т.д. (хотя я понимаю, существуют другие преимущества для выполнения так).
Я полагаю, что это является определенным для Linux. Я подозреваю, что это, вероятно, не поможет ни на какой другой операционной системе Unix (не протестированный).
-l
определяет количество логических степеней. От man lvcreate
:
- l, - степени LogicalExtentsNumber [% {VG|PVS|FREE|ORIGIN}]
Дает количество логических степеней для выделения для нового логического тома. Число может также быть выражено как процент общего пространства в Volume Group с суффиксом %VG, как процент остающегося свободного пространства в Volume Group с суффиксом %FREE, как процент остающегося свободного пространства для указанного PhysicalVolume (s) с суффиксом %PVS, или (для снимка) как процент общего пространства в Логическом томе Источника с суффиксом %ORIGIN.