Javaプロセスをgrepすると、出力が下に表示されますが、4096文字に制限されているため、grep
出力に実際のプロセス名(kafka.Kafka)が表示されません。
これは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/kafka-app -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 = file:./../ 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/bin /../ libs/argparse4j-0.5.0.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/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:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.1 0.1.1/bin /../ libs/connect-runtime-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 /../ libs/hk2-locator-2.4.0-b34.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/ ../libs/hk2-utils-2.4.0-b34.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/../libs/jackson-annotations-2.6.0 .jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/jackson-core-2.6.3.jar:/ x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/jackson-databind-2.6.3.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ 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 /../ libs/jackson-module-jaxb-annotations-2.6.3.jar:/ x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/javass ist-3.18.2-GA.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/javax.annotation-api-1.2.jar:/ x/home /bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/../libs/javax.inject-1.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../libs/javax.inject-2.4.0-b34.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/../libs/javax.servlet-api- 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/bin/../libs/jersey-container-servlet- 2.22.2.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/jersey-container-servlet-core-2.22.2.jar:/ x/home /bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-guava-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/bin/../libs/jersey-server-2.22.2.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10 .1.1/bin /../ libs/jetty-continuation-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin /../ libs/jetty- 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/bin /../ 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 /../ libs/jetty-servlets-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-Paypal/kafka_2.10-0.10.1.1/bin/../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:/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 /../ libs/kafka_2.10-0.10.1.1-so
これはgrep
の制限ではなく、/proc/PID/cmdline
の制限です(技術的には、設計上の決定であり、制限ではありません)。 /proc/PID/cmdline
には、プロセスの完全なコマンドラインが含まれ、メインコマンドと引数はASCII NULで区切られています。ファイルもNULで終わります。したがって、grep
は一致する場合は、ファイルの内容全体を印刷します(ps -ef
は、このファイルの内容をCMD
として取得します)。
最大長は(Linux)カーネルでPAGE_SIZE
にハードコード化されています :
static int proc_pid_cmdline(struct task_struct *task, char * buffer)
{
int res = 0;
unsigned int len;
struct mm_struct *mm = get_task_mm(task);
if (!mm)
goto out;
if (!mm->arg_end)
goto out_mm; /* Shh! No looking before we're done */
len = mm->arg_end - mm->arg_start;
if (len > PAGE_SIZE)
len = PAGE_SIZE;
したがって、このようなシステムでは4096バイトです。
% getconf PAGE_SIZE
4096
また、マルチバイト文字がある場合、想像できるように、文字数は4096未満になります。