GraphDB에서 "큰"SAPRQL INSERT WHERE
을 실행 중이며 사용할 수있는 실제 RAM을 모두 사용하지 않는 것 같습니다. 내가 64 기가 바이트, 4 코어에 CentOS 6.9 서버GraphDB에서 사용 가능한 메모리를 모두 사용하지 않습니다.
-bash-4.1$ free -m
total used free shared buffers cached
Mem: 64428 21897 42530 0 107 2877
-/+ buffers/cache: 18912 45515
Swap: 8095 0 8095
을 사용하고
나는이 같은 GraphDB 8.3.0 시작 :
graphdb -Xms50g -Xmx50g -d
그것은 그 경우, 비 추론 REPO의 어떤 차이가 여기에
가 sysinfo가 페이지의 말씀입니다 수
응용 프로그램 정보 :
OS: Linux 2.6.32-696.6.3.el6.x86_64
Java: Oracle Corporation 1.8.0_144
Memory used: 5554 MB
Max memory: 50977 MB
JVM 인수
-Xms1g
-Djava.awt.headless=true
-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true
-XX:+UseParallelGC
-XX:-OmitStackTraceInFastThrow
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/usr/local/graphdb/heapdump.hprof
-XX:OnOutOfMemoryError=kill -9 %p
-Dgraphdb.dist=/usr/local/graphdb
-Xms50g
-Xmx50g
최고 출력 : 여기
top - 13:32:23 up 22:37, 1 user, load average: 1.00, 0.96, 0.76
Tasks: 153 total, 1 running, 152 sleeping, 0 stopped, 0 zombie
Cpu(s): 25.1%us, 0.2%sy, 0.0%ni, 74.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65974292k total, 22390544k used, 43583748k free, 109900k buffers
Swap: 8290300k total, 0k used, 8290300k free, 2915740k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4071 sprqlusr 20 0 56.2g 17g 22m S 101.0 28.4 16:53.29 /usr/local/java/bin/java -Xms1g -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -XX:+UseParallelGC -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpO
그리고 메모리 utilzation 페이지
의 스크린 샷입니다
JVM이 필요에 따라 사용 가능한 메모리를 할당하는 대신 50g 힙 크기를 사용하게하는 이유가 있습니까? 나는 네가하는 일이 잘못되었다는 말은 아니며 단지 묻는다. 'graphdb -d'를 실행하면 메모리 프로파일은 어떻게됩니까? – Nathan
@Nathan ... 좋은 질문입니다. 다음에 나는 db를 오프라인으로 가져 간다. 나는 그것을 시도 할 것이다. 나는 GraphDB가 할당 된 RAM을 모두 사용할 수 있는지를보기가 끔찍한 시도라고 생각한다. 나는 graphdb 프로세스가 RAM의 30 % 이상을 사용하는 것을 결코 보지 못했고, 그래서 그것은 나를 귀찮게하고 있었고, 나는이 붙어있는 질의가 좋은 경우라고 생각했다. –