Когда я выполняю grep для процесса Java, я получаю вывод ниже, но он ограничен 4096 символами, что приводит к тому, что фактическое имя процесса (то есть kafka.Kafka) не отображается в grep
выводе.
Это ограничение grep? Можно ли печатать символы за пределами 4096?
ps -ef | grep java
java -Xmx6G -Xms6G -server -XX: + UseG1GC -XX: MaxGCPauseMillis = 20 -XX: InitiatingHeapOccupancyPercent = 35 -XX: + DisableExplicitGC -Djava.awt.headless = true -Xloggc: / x / kafka / data01 -logs / kafkaServer-gc.log -verbose: gc -XX: + PrintGCDetails -XX: + PrintGCDateStamps -XX: + PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate = false -Dcom. sun.management.jmxremote.ssl = false -Dkafka.logs.dir = / x / kafka / data01 / kafka-app-logs -Dlog4j.configuration = файл: ./../ config / log4j.properties -cp: / x /home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/aopalliance-repackaged-2.4.0-b34.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10 -0.10.1.1 / бен /../ ЛИЭС / argparse4j-0.5.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / Connect-API- 0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/connect-file-0.10.1.1.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/connect-json-0.10.1.1.jar:/ х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / Connect-среда-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/guava-18.0.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/hk2-api-2.4.0 -b34.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / hk2-локатор-2.4.0-b34.jar: / х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / hk2-Utils-2.4.0-b34.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/ бен /../ ЛИЭС / ДЖЕКСОН-аннотаций-2.6.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / ДЖЕКСОН-ядро-2.6.3 .jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / ДЖЕКСОНА-DataBind-2.6.3.jar: / х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен / ../libs/jackson-jaxrs-base-2.6.3.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jackson-jaxrs-json-provider-2.6 .3.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / ДЖЕКСОНА-модуль-JAXB-аннотаций-2.6.3.jar: / х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / Javassist-3.18.2-GA.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/ бен /../ ЛИЭС / javax.annotation-апи-1.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / javax.inject-1.jar : /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / 2.4.0-javax.inject, b34.jar: / х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / javax.servlet-апи-3.1.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ .. /libs/javax.ws.rs-api-2.0.1.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-client-2.22.2 .jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-common-2.22.2.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10 -0.10.1.1 / бен /../ ЛИЭС / Джерси-контейнер-сервлет-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / Джерси-контейнер-сервлет-ядро-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / Джерси-гуава-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-media-jaxb-2.22.2.jar:/x/home/bmcuser/kafka-paypal/kafka_2 .10-0.10.1.1 / бен /../ ЛИЭС / Джерси-сервера 2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-продолжающей 9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-HTTP-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-io-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-security-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2 .10-0.10.1.1 / бен /../ ЛИЭС / причал-сервера 9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-сервлет-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-сервлеты-9.2.15.v20160210. баночка: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-Util-9.2.15.v20160210.jar: / х / дома / bmcuser / Кафка-PayPal /kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/ kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / kafka_2.10-0.10.1.1-так/libs/jetty-server-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-servlet-9.2.15.v20160210 .jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-сервлеты-9.2.15.v20160210.jar: / х / дома / bmcuser / kafka- PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / причал-Util-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1.jar:/ х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / kafka_2.10-0.10.1.1-так/libs/jetty-server-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-servlet-9.2.15.v20160210 .jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ ЛИЭС / причал-сервлеты-9.2.15.v20160210.jar: / х / дома / bmcuser / kafka- PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / причал-Util-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1.jar:/ х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / kafka_2.10-0.10.1.1-так/libs/jetty-util-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/ х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1-so/libs/jetty-util-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/ х / дома / bmcuser / Кафка-PayPal / kafka_2.10-0.10.1.1 / бен /../ ЛИЭС / kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1-so
источник
jps
показывает Classname независимо от командной строки усечения (по крайней мере , на Linux).ps -ef
печатает больше, но grep - это то, что его меняет. Это кажется ... необоснованным.Ответы:
Это не ограничение
grep
, но/proc/PID/cmdline
(технически, проектное решение, а не ограничение)./proc/PID/cmdline
содержит полную командную строку процесса с основной командой и аргументами, разделенными NUL ASCII, и файл также заканчивается NUL. Таким образом,grep
будет напечатано все содержимое файла, если есть совпадение. (ps -ef
получает содержимое этого файла какCMD
).Максимальная длина жестко задана в ядре (Linux) для
PAGE_SIZE
:следовательно, 4096 байт для такой системы:
Кроме того, если у вас есть многобайтовые символы, количество символов будет меньше 4096, как вы можете себе представить.
источник
PAGE_SIZE
: это свойство оборудования. Вам нужно спроектировать какое-то новое оборудование с большим размером страницы или (что намного проще…) снять ограничение на то, что содержимоеcmdline
усекается до одной страницы, путем правильного отображения или копирования памяти.proc_pid_cmdline
оно не использовало PAGE_SIZE