메모리 설정 문의

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

메모리 설정 문의

황호동
안녕하세요
ngrinder 3.1 버전 사용하고 있는데요
테스트 중 Java heap 에러가 발생하여서
메모리 설정을 이것저것 해 보았는데
적용이 제대로 되지 않는거 같아서 문의 드립니다.

에러 내용은 아래와 같습니다.

2013-02-13 10:36:14,533 ERROR Aborted run: Java exception calling TestRunner
net.grinder.scriptengine.jython.JythonScriptExecutionException: Java exception calling TestRunner
        File "/root/.ngrinder_agent/file-store/current/get_100MB.py", line 35, in __call__
java.lang.OutOfMemoryError: Java heap space
        at HTTPClient.HTTPResponse.readResponseData(HTTPResponse.java:981) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.getData(HTTPResponse.java:515) ~[grinder-httpclient-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1290) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:499) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:445) ~[grinder-http-3.9.1.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_06]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_06]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_06]
        at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_06]
        at org.python.core.PyReflectedFunction.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyMethod.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyInstance.invoke(Unknown Source) ~[jython-2.2.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances.access$101(InstrumentedPyJavaInstanceForJavaInstances.java:43) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances$2.call(InstrumentedPyJavaInstanceForJavaInstances.java:70) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.PyDispatcher.dispatch(PyDispatcher.java:70) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentationHelper.dispatch(InstrumentationHelper.java:101) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances.invoke(InstrumentedPyJavaInstanceForJavaInstances.java:67) ~[grinder-core-3.9.1.jar:na]
        at org.python.pycode._pyx1.__call__$4(/root/.ngrinder_agent/file-store/current/get_100MB.py:35) ~[na:na]
        at org.python.pycode._pyx1.call_function(/root/.ngrinder_agent/file-store/current/get_100MB.py) ~[na:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyFunction.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyMethod.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.invoke(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyInstance.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:250) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:118) ~[grinder-core-3.9.1.jar:na]
        at java.lang.Thread.run(Thread.java:619) [na:1.6.0_06]


controler에서 catalina.sh 설정을 해보아도 테스트를 진행해보면
(JAVA_OPTS="$JAVA_OPTS -Xms4G -Xmx16G -XX:MaxPermSize=4G")
agent에서 Used Memory는 5G를 넘지 못합니다.

agent에서도 아래와 run_agent.sh 설정을 아래와 같이 해보았는데
java -Xms2G -Xmx16G -Dstart.mode=agent ${controllerIp} -jar ngrinder-core-3.1.jar -server
역시 실제 사용 메모리는 5G를 넘지 못하고 Java heap 에러가 발생합니다.

각 agent가 설치되어 있는 서버들은 20G이상 메모리를 사용하고 있습니다.
root@bench1:~/ngrinder-core-3.1# cat /proc/meminfo
MemTotal:       24733732 kB
MemFree:        20634900 kB

각 agent들의 메모리 사용량을 증가시키려면
어떤 설정이 필요한지 답변 주시면 감사하겠습니다.



Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

junoyoon
Administrator
쓰레드와 프로세스를 각각 얼마로 잡으셨나요??

나의 iPhone에서 보냄

2013. 2. 13. 오전 10:53 황호동 [via ngrinder] <[hidden email]> 작성:

안녕하세요
ngrinder 3.1 버전 사용하고 있는데요
테스트 중 Java heap 에러가 발생하여서
메모리 설정을 이것저것 해 보았는데
적용이 제대로 되지 않는거 같아서 문의 드립니다.

에러 내용은 아래와 같습니다.

2013-02-13 10:36:14,533 ERROR Aborted run: Java exception calling TestRunner
net.grinder.scriptengine.jython.JythonScriptExecutionException: Java exception calling TestRunner
        File "/root/.ngrinder_agent/file-store/current/get_100MB.py", line 35, in __call__
java.lang.OutOfMemoryError: Java heap space
        at HTTPClient.HTTPResponse.readResponseData(HTTPResponse.java:981) ~[grinder-httpclient-3.9.1.jar:na]
        at HTTPClient.HTTPResponse.getData(HTTPResponse.java:515) ~[grinder-httpclient-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1290) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:499) ~[grinder-http-3.9.1.jar:na]
        at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:445) ~[grinder-http-3.9.1.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_06]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_06]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_06]
        at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_06]
        at org.python.core.PyReflectedFunction.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyMethod.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyInstance.invoke(Unknown Source) ~[jython-2.2.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances.access$101(InstrumentedPyJavaInstanceForJavaInstances.java:43) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances$2.call(InstrumentedPyJavaInstanceForJavaInstances.java:70) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.PyDispatcher.dispatch(PyDispatcher.java:70) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentationHelper.dispatch(InstrumentationHelper.java:101) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.scriptengine.jython.instrumentation.traditional.InstrumentedPyJavaInstanceForJavaInstances.invoke(InstrumentedPyJavaInstanceForJavaInstances.java:67) ~[grinder-core-3.9.1.jar:na]
        at org.python.pycode._pyx1.__call__$4(/root/.ngrinder_agent/file-store/current/get_100MB.py:35) ~[na:na]
        at org.python.pycode._pyx1.call_function(/root/.ngrinder_agent/file-store/current/get_100MB.py) ~[na:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyTableCode.call(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyFunction.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyMethod.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.invoke(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyInstance.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at org.python.core.PyObject.__call__(Unknown Source) ~[jython-2.2.1.jar:na]
        at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:250) ~[grinder-core-3.9.1.jar:na]
        at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:118) ~[grinder-core-3.9.1.jar:na]
        at java.lang.Thread.run(Thread.java:619) [na:1.6.0_06]


controler에서 catalina.sh 설정을 해보아도 테스트를 진행해보면
(JAVA_OPTS="$JAVA_OPTS -Xms4G -Xmx16G -XX:MaxPermSize=4G")
agent에서 Used Memory는 5G를 넘지 못합니다.

agent에서도 아래와 run_agent.sh 설정을 아래와 같이 해보았는데
java -Xms2G -Xmx16G -Dstart.mode=agent ${controllerIp} -jar ngrinder-core-3.1.jar -server
역시 실제 사용 메모리는 5G를 넘지 못하고 Java heap 에러가 발생합니다.

각 agent가 설치되어 있는 서버들은 20G이상 메모리를 사용하고 있습니다.
root@bench1:~/ngrinder-core-3.1# cat /proc/meminfo
MemTotal:       24733732 kB
MemFree:        20634900 kB

각 agent들의 메모리 사용량을 증가시키려면
어떤 설정이 필요한지 답변 주시면 감사하겠습니다.






If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/-tp289.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

황호동
agent는 총 4대
Process 1, Threads 5 로 설정하였습니다.
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

junoyoon
Administrator
일단 프로세스 5개 쓰레드 1개로 잡아보시겠어요?



나의 iPhone에서 보냄

2013. 2. 13. 오전 11:02 황호동 [via ngrinder] <[hidden email]> 작성:

agent는 총 4대
Process 1, Threads 5 로 설정하였습니다.


If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/-tp289p291.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

황호동
말씀해주신대로
프로세스 5개 쓰레드 1개로 테스트해보니 문제없이 동작합니다.

프로세스 25개 쓰레드 1개로도 정상 동작합니다.

도움 주셔서 감사합니다.

추가로 쓰레드로는 메모리 할당에 제한이 있는 것 인가요?
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

junoyoon
Administrator

nGrinder 는 프로세스별로 메모리를 자동으로 잡습니다.

 

 

// Make a room with 100MB.

long actualFree = new Sigar().getMem().getActualFree() - (100 * 1024 * 1024);

// If memory enough..

desirableXmx = actualFree / processCount;

 

return jvmArguments.append(" -Xms" + getMemorySizeStr(desirableXmx / 2) + "M -Xmx"

+ getMemorySizeStr(desirableXmx) + "M ");

 

위와 같이 Xms와 Xmx 를 현재 가용 메모리를 가지고 자동으로 프로세스 별로 최대 메모리를 지정합니다.

그러나 아래 말씀 하신 건과 같이 5G가 밖에 사용하지 못잡는다면, 이 문제는 다른 문제인 듯 합니다.

혹시 에이전트측 JVM 이 32bit 용이 아닌지 확인해 보시기 바랍니다.,

 

 

java -d64 -version

 

위 명령으로 확인 가능합니다. 

 

-----Original Message-----
From: "황호동 [via ngrinder]"<[hidden email]>
To: "junoyoon"<[hidden email]>;
Cc:
Sent: 2013-02-13 (수) 11:42:22
Subject: Re: 메모리 설정 문의

말씀해주신대로
프로세스 5개 쓰레드 1개로 테스트해보니 문제없이 동작합니다.

프로세스 25개 쓰레드 1개로도 정상 동작합니다.

도움 주셔서 감사합니다.

추가로 쓰레드로는 메모리 할당에 제한이 있는 것 인가요?



If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/-tp289p293.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

황호동
에이전트가 설치된 서버는 모두 64비트 JVM이 설치되어 있습니다.

root@bench1:~# java -d64 -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

junoyoon
Administrator
그렇다면 이 문제는 아닌 듯 보입니다. 현재 스크립트명을 보면 100M까지 Response 를 보내는 듯 한데..
여기서 정말로 메모리 문제가 발생한 듯 하군요.
 
테스트 실행시 에이전트 콘솔 화면에 다음과 같은 에이전트 로그가 나오게 될 텐데요. 이 메시지를 알려주실 수 있으신가요?
 
2013-02-13 13:32:28,582 INFO  net.grinder.AgentDaemon: jvm arguments  -Djava.security.manager=org.ngrinder.sm.NGrinderSecurityManager  -Dngrinder.exec.path=C:\Users\junoyoon\.ngrin
der_agent\file-store\admin\current  -Dngrinder.console.ip=....  -Dngrinder.dns.ip=.... -Dpython.path=C:\Users\junoyoon\.ngrinder_agent\file-store\admin\curr
ent\lib  -Dpython.cachedir=C:\Users\junoyoon\AppData\Local\Temp\jython  -Dngrinder.etc.hosts=JUNOYOON-PC:127.0.0.1,localhost:127.0.0.1,www.naver.com:220.95.233.172,www.naver.com:20
2.131.30.11,10.66.28.121:10.66.28.121 -Dsun.net.spi.nameservice.provider.1=dns,LocalManagedDns  -Xms479M -Xmx959M
2013-02-13 13:32:28,585 INFO  net.grinder.AgentDaemon: Worker process command line: java '-javaagent:C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\grinder-dcr-agent-3.9.1.jar' '-D
java.security.manager=org.ngrinder.sm.NGrinderSecurityManager' '-Dngrinder.exec.path=C:\Users\junoyoon\.ngrinder_agent\file-store\admin\current' '-Dngrinder.console.ip=10.66.9.95'
'-Dngrinder.dns.ip=10.22.64.6,10.22.64.7' '-Dpython.path=C:\Users\junoyoon\.ngrinder_agent\file-store\admin\current\lib' '-Dpython.cachedir=C:\Users\junoyoon\AppData\Local\Temp\jyt
hon' '-Dngrinder.etc.hosts=JUNOYOON-.....' '-Dsun.net.spi.nameservice.
provider.1=dns,LocalManagedDns' '-Xms479M' '-Xmx959M' -classpath 'C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\ngrinder-dns-3.1.2.jar;.;C:\Project\ngrinder_v3\ngrinder-core-3.1.2
\lib\grinder-3.9.1-patch.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\asm-3.2.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\dnsjava-2.1.1.jar;C:\Project\ngrinder_v3\ngri
nder-core-3.1.2\lib\grinder-3.9.1.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\grinder-core-3.9.1.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\grinder-dcr-agent-3.9.1.j
ar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\grinder-http-3.9.1.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\grinder-httpclient-3.9.1.jar;C:\Project\ngrinder_v3\ngrinder
-core-3.1.2\lib\grinder-xmlbeans-3.9.1.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\json-20090211.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\jsr173-1.0.jar;C:\Project
\ngrinder_v3\ngrinder-core-3.1.2\lib\jython-standalone-2.5.3.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\logback-classic-1.0.0.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2
\lib\logback-core-1.0.0.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\ngrinder-dns-3.1.2.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\picocontainer-2.13.6.jar;C:\Project
\ngrinder_v3\ngrinder-core-3.1.2\lib\slf4j-api-1.6.4.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\stax-api-1.0.1.jar;C:\Project\ngrinder_v3\ngrinder-core-3.1.2\lib\xmlbeans-2
.5.0.jar' net.grinder.engine.process.WorkerProcessEntryPoint
 
 
 
-Xms479M -Xmx959M
 
요런 내용이 어떻게 나오는지 확인이 필요합니다.
 
감사합니다.
 
-----Original Message-----
From: "황호동 [via ngrinder]"<ml-node+s642n296h60@n7.nabble.com>
To: "junoyoon"<junoyoon@nhn.com>;
Cc:
Sent: 2013-02-13 (수) 13:24:58
Subject: Re: 메모리 설정 문의



        에이전트가 설치된 서버는 모두 64비트 JVM이 설치되어 있습니다.


root@bench1:~# java -d64 -version

java version "1.6.0_06"

Java(TM) SE Runtime Environment (build 1.6.0_06-b02)

Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)



       
       
       
       

       

       

       
                If you reply to this email, your message will be added to the discussion below:
                http://ngrinder.642.n7.nabble.com/-tp289p296.html
       
       
                To start a new topic under ngrinder-user-kr, email ml-node+s642n113h87@n7.nabble.com

                To unsubscribe from ngrinder-user-kr, click here.

                NAML
       

Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

황호동
에이전트 로그 입니다.
로그를 보면  -Xms512M -Xmx1024M  으로 나타납니다.
설정이 되지 않은 것 같은데
어떻게 설정할 수 있을 까요?

2013-02-13 14:16:49,210 INFO  agent controller: received a start agent message
2013-02-13 14:16:49,211 INFO  agent controller: agent start message is revcieved from console net.grinder.messages.agent.StartGrinderMessage@48cbdb20
2013-02-13 14:16:49,211 INFO  agent controller: starting agent... for test_169
2013-02-13 14:16:49,212 INFO  net.grinder.AgentDaemon: Agent Daemon Agent conntected to port : 12003 is started.
2013-02-13 14:16:49,215 INFO  agent controller: agent started. waiting for agent controller signal
2013-02-13 14:16:49,220 INFO  net.grinder.AgentDaemon: The Grinder 3.9.1
2013-02-13 14:16:49,237 INFO  net.grinder.AgentDaemon: connected to console at /10.11.133.4:12003
2013-02-13 14:16:49,238 INFO  net.grinder.AgentDaemon: waiting for console signal
2013-02-13 14:16:59,211 INFO  net.grinder.AgentDaemon: Clearing file store
2013-02-13 14:16:59,216 INFO  net.grinder.AgentDaemon: Updating file store: "get_100MB.py" (1598 bytes)
2013-02-13 14:17:04,240 INFO  net.grinder.AgentDaemon: Updating file store: "grinder.properties" (595 bytes)
2013-02-13 14:17:09,213 INFO  net.grinder.AgentDaemon: Updating file store: "logback-worker.xml" (990 bytes)
2013-02-13 14:17:14,233 INFO  net.grinder.AgentDaemon: received a start message
2013-02-13 14:17:14,254 INFO  net.grinder.AgentDaemon: grinder properties {grinder.security=false, grinder.test.id=test_169, grinder.reportTimesToConsole=true, grinder.consoleHost=10.11.133.4, grinder.dcrinstrumentation=false, grinder.numberOfOldLogs=1, grinder.sleepTimeVariation=0.2, grinder.logProcessStreams=true, grinder.useConsole=true, grinder.threads=1, grinder.consolePort=12003, grinder.ignoreSampleCount=0, grinder.jvm=java, grinder.duration=900000, grinder.sleepTimeFactor=1, grinder.processIncrement=0, grinder.processes=5, grinder.jvm.classpath=/root/.ngrinder_agent/file-store/current/, ngrinder.etc.hosts=, grinder.logDirectory=/root/.ngrinder_agent/log/test_169, grinder.reportToConsole.interval=500, grinder.debug.singleprocess=false, grinder.script=get_100MB.py, grinder.runs=0}
2013-02-13 14:17:14,254 INFO  net.grinder.AgentDaemon: jvm arguments  -Dpython.path=/root/.ngrinder_agent/file-store/current/lib -Dpython.home=/root/.ngrinder_agent/file-store/current  -Dngrinder.etc.hosts=bench2:127.0.0.1,localhost:127.0.0.1 -Dsun.net.spi.nameservice.provider.1=dns,LocalManagedDns  -server  -Xms512M -Xmx1024M
2013-02-13 14:17:14,259 INFO  net.grinder.AgentDaemon: Worker process command line: java '-javaagent:../../../ngrinder-core-3.1/lib/grinder-dcr-agent-3.9.1.jar' '-Dpython.path=/root/.ngrinder_agent/file-store/current/lib' '-Dpython.home=/root/.ngrinder_agent/file-store/current' '-Dngrinder.etc.hosts=bench2:127.0.0.1,localhost:127.0.0.1' '-Dsun.net.spi.nameservice.provider.1=dns,LocalManagedDns' -server '-Xms512M' '-Xmx1024M' -classpath '.:../../../ngrinder-core-3.1/lib/grinder-3.9.1-patch.jar:../../../ngrinder-core-3.1/lib/jsr173-1.0.jar:../../../ngrinder-core-3.1/lib/ngrinder-dns-3.1.jar:../../../ngrinder-core-3.1/lib/stax-api-1.0.1.jar:../../../ngrinder-core-3.1/lib/picocontainer-2.13.6.jar:../../../ngrinder-core-3.1/lib/logback-classic-1.0.0.jar:../../../ngrinder-core-3.1/lib/grinder-3.9.1.jar:../../../ngrinder-core-3.1/lib/dnsjava-2.1.1.jar:../../../ngrinder-core-3.1/lib/grinder-http-3.9.1.jar:../../../ngrinder-core-3.1/lib/logback-core-1.0.0.jar:../../../ngrinder-core-3.1/lib/grinder-xmlbeans-3.9.1.jar:../../../ngrinder-core-3.1/lib/asm-3.2.jar:../../../ngrinder-core-3.1/lib/slf4j-api-1.6.4.jar:../../../ngrinder-core-3.1/lib/grinder-httpclient-3.9.1.jar:../../../ngrinder-core-3.1/lib/grinder-core-3.9.1.jar:../../../ngrinder-core-3.1/lib/grinder-dcr-agent-3.9.1.jar:../../../ngrinder-core-3.1/lib/jython-2.2.1.jar:../../../ngrinder-core-3.1/lib/xmlbeans-2.5.0.jar' net.grinder.engine.process.WorkerProcessEntryPoint
Reply | Threaded
Open this post in threaded view
|

Re: 메모리 설정 문의

junoyoon
Administrator

제가 그쪽 코드를 다시 살펴보니..

  

if (desirableXmx < (DEFAULT_MIN_XMX_SIZE)) {

LOGGER.error("There is very few memory availble {}. It's not enough to run test", actualFree);

desirableXmx = DEFAULT_MIN_XMX_SIZE;

} else if (desirableXmx > DEFAULT_MAX_XMX_SIZE) {

desirableXmx = DEFAULT_MAX_XMX_SIZE;

}

 

와 같이 1024M 를 넘을 경우 1024M로 잡게 해 놓았네요.

그랬던 사유는 1G가 넘어갈 경우, 가비지 콜렉션 타임에 의해, 측정 결과가 왜곡될 수 있기 때문입니다.

일단 금주말이나 차주초에 나올 3.1.2 버전에는 사용자 설정에 따라 메모리를 더 잡을 수 있도록 해놓겠습니다.

그 전까지는 프로세스 개수를 늘리는 방법으로 작업하시면 될것 같습니다.

 

-----Original Message-----
From: "황호동 [via ngrinder]"<[hidden email]>
To: "junoyoon"<[hidden email]>;
Cc:
Sent: 2013-02-13 (수) 14:19:46
Subject: Re: 메모리 설정 문의

에이전트 로그 입니다.
로그를 보면  -Xms512M -Xmx1024M  으로 나타납니다.
설정이 되지 않은 것 같은데
어떻게 설정할 수 있을 까요?

2013-02-13 14:16:49,210 INFO  agent controller: received a start agent message
2013-02-13 14:16:49,211 INFO  agent controller: agent start message is revcieved from console net.grinder.messages.agent.StartGrinderMessage@48cbdb20
2013-02-13 14:16:49,211 INFO  agent controller: starting agent... for test_169
2013-02-13 14:16:49,212 INFO  net.grinder.AgentDaemon: Agent Daemon Agent conntected to port : 12003 is started.
2013-02-13 14:16:49,215 INFO  agent controller: agent started. waiting for agent controller signal
2013-02-13 14:16:49,220 INFO  net.grinder.AgentDaemon: The Grinder 3.9.1
2013-02-13 14:16:49,237 INFO  net.grinder.AgentDaemon: connected to console at /10.11.133.4:12003
2013-02-13 14:16:49,238 INFO  net.grinder.AgentDaemon: waiting for console signal
2013-02-13 14:16:59,211 INFO  net.grinder.AgentDaemon: Clearing file store
2013-02-13 14:16:59,216 INFO  net.grinder.AgentDaemon: Updating file store: "get_100MB.py" (1598 bytes)
2013-02-13 14:17:04,240 INFO  net.grinder.AgentDaemon: Updating file store: "grinder.properties" (595 bytes)
2013-02-13 14:17:09,213 INFO  net.grinder.AgentDaemon: Updating file store: "logback-worker.xml" (990 bytes)
2013-02-13 14:17:14,233 INFO  net.grinder.AgentDaemon: received a start message
2013-02-13 14:17:14,254 INFO  net.grinder.AgentDaemon: grinder properties {grinder.security=false, grinder.test.id=test_169, grinder.reportTimesToConsole=true, grinder.consoleHost=10.11.133.4, grinder.dcrinstrumentation=false, grinder.numberOfOldLogs=1, grinder.sleepTimeVariation=0.2, grinder.logProcessStreams=true, grinder.useConsole=true, grinder.threads=1, grinder.consolePort=12003, grinder.ignoreSampleCount=0, grinder.jvm=java, grinder.duration=900000, grinder.sleepTimeFactor=1, grinder.processIncrement=0, grinder.processes=5, grinder.jvm.classpath=/root/.ngrinder_agent/file-store/current/, ngrinder.etc.hosts=, grinder.logDirectory=/root/.ngrinder_agent/log/test_169, grinder.reportToConsole.interval=500, grinder.debug.singleprocess=false, grinder.script=get_100MB.py, grinder.runs=0}
2013-02-13 14:17:14,254 INFO  net.grinder.AgentDaemon: jvm arguments  -Dpython.path=/root/.ngrinder_agent/file-store/current/lib -Dpython.home=/root/.ngrinder_agent/file-store/current  -Dngrinder.etc.hosts=bench2:127.0.0.1,localhost:127.0.0.1 -Dsun.net.spi.nameservice.provider.1=dns,LocalManagedDns  -server  -Xms512M -Xmx1024M
2013-02-13 14:17:14,259 INFO  net.grinder.AgentDaemon: Worker process command line: java '-javaagent:../../../ngrinder-core-3.1/lib/grinder-dcr-agent-3.9.1.jar' '-Dpython.path=/root/.ngrinder_agent/file-store/current/lib' '-Dpython.home=/root/.ngrinder_agent/file-store/current' '-Dngrinder.etc.hosts=bench2:127.0.0.1,localhost:127.0.0.1' '-Dsun.net.spi.nameservice.provider.1=dns,LocalManagedDns' -server '-Xms512M' '-Xmx1024M' -classpath '.:../../../ngrinder-core-3.1/lib/grinder-3.9.1-patch.jar:../../../ngrinder-core-3.1/lib/jsr173-1.0.jar:../../../ngrinder-core-3.1/lib/ngrinder-dns-3.1.jar:../../../ngrinder-core-3.1/lib/stax-api-1.0.1.jar:../../../ngrinder-core-3.1/lib/picocontainer-2.13.6.jar:../../../ngrinder-core-3.1/lib/logback-classic-1.0.0.jar:../../../ngrinder-core-3.1/lib/grinder-3.9.1.jar:../../../ngrinder-core-3.1/lib/dnsjava-2.1.1.jar:../../../ngrinder-core-3.1/lib/grinder-http-3.9.1.jar:../../../ngrinder-core-3.1/lib/logback-core-1.0.0.jar:../../../ngrinder-core-3.1/lib/grinder-xmlbeans-3.9.1.jar:../../../ngrinder-core-3.1/lib/asm-3.2.jar:../../../ngrinder-core-3.1/lib/slf4j-api-1.6.4.jar:../../../ngrinder-core-3.1/lib/grinder-httpclient-3.9.1.jar:../../../ngrinder-core-3.1/lib/grinder-core-3.9.1.jar:../../../ngrinder-core-3.1/lib/grinder-dcr-agent-3.9.1.jar:../../../ngrinder-core-3.1/lib/jython-2.2.1.jar:../../../ngrinder-core-3.1/lib/xmlbeans-2.5.0.jar' net.grinder.engine.process.WorkerProcessEntryPoint



If you reply to this email, your message will be added to the discussion below:
http://ngrinder.642.n7.nabble.com/-tp289p299.html
To start a new topic under ngrinder-user-kr, email [hidden email]
To unsubscribe from ngrinder-user-kr, click here.
NAML