Programming/Java(Spring)2019.07.06 19:59

128GB 서버에서 돌리니 최대 힙 사이즈가 32기가가 잡히는것 같고

16GB 서버에서 확인해보니 InitialHeapSize 와 MaxHeapSize가 모두 1/4 크기이다.

# java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
     intx CompilerThreadStackSize                   = 0                                   {pd product}
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
    uintx InitialHeapSize                          := 2109734912                          {product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx MaxHeapSize                              := 32210157568                         {product}
     intx ThreadStackSize                           = 1024                                {pd product}
     intx VMThreadStackSize                         = 1024                                {pd product}
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

[링크 : https://www.mkyong.com/java/find-out-your-java-heap-memory-size/]

 

spring boot로 실행하니(java -jar을 통해서 war 실행)

-Xms2971M -Xmx3971M -Xmn400M 으로 뜨는데 순서대로 (실수.. 카산드라 메모리였음.. -_ㅠ)

InitialHeapSize / MaxHeapSize / 마지막은 모르겠네?

아무튼.. 저 값이 기본인지 부터 확인해야 할 듯

1. -X Option (모든 VM에서 동작하지 않을 수 있는 비표준 option이며, 버젼별로 언급없이 변경되어질 수 있음)
-Xms : 초기 Heap size 설정
-Xmx : 최대 Heap size 설정
-Xss : 각 Thread에 할당되는 Stack size 설정
-Xmn : New 영역을 위한 Heap size 설정

2. -XX Option (올바른 동작을 위해 특정한 시스템 요구사항들이 있으며, 시스템 설정 파라미터에 대한 접근 권한이 요구됨)
-XX:PermSize : 초기 Permanent size 설정
-XX:MaxPermSize : 최대 Permanent size 설정

[링크 : https://webprogrammer.tistory.com/1430]

[링크 : https://spring.io/blog/2015/12/10/spring-boot-memory-performance]

 

+

일단은 -Xmx로 설정해주는게 영향을 주긴 한 듯..

'Programming > Java(Spring)' 카테고리의 다른 글

java 메모리 관련...2?  (0) 2019.07.06
java.lang.OutOfMemoryError: GC overhead limit exceeded  (0) 2019.07.06
mvn -P profile  (0) 2019.06.08
tomcat9 on ubuntu18.04  (0) 2019.06.07
tomcat 자동 war 배포 막기  (0) 2019.06.07
tomcat manager GUI  (0) 2019.06.07
Posted by 구차니

댓글을 달아 주세요

Programming/Java(Spring)2019.07.06 19:50

이거 먼가.. 심각하게 심각해 보이는데..

아무튼 heap 메모리를 좀 넉넉하게 잡아주면 될거 같으면서도 애매하네?

 

java -Xmx1024m com.yourcompany.YourClass

[링크 : https://helloino.tistory.com/97]

[링크 : https://www.baeldung.com/java-gc-overhead-limit-exceeded]

 

If starting the app with the spring-boot plugin:

mvn spring-boot:run -Drun.jvmArguments="-Xmx512m" -Drun.profiles=dev
Otherwise if running java -jar:

java -Xmx512m -Dspring.profiles.active=dev -jar app.jar

[링크 : https://stackoverflow.com/questions/23072187]

'Programming > Java(Spring)' 카테고리의 다른 글

java 메모리 관련...2?  (0) 2019.07.06
java.lang.OutOfMemoryError: GC overhead limit exceeded  (0) 2019.07.06
mvn -P profile  (0) 2019.06.08
tomcat9 on ubuntu18.04  (0) 2019.06.07
tomcat 자동 war 배포 막기  (0) 2019.06.07
tomcat manager GUI  (0) 2019.06.07
Posted by 구차니

댓글을 달아 주세요

python의 expat을 써보려는데 원하는대로 안되서 멘붕 중

 

xmlparser.ParseFile(file)
Parse XML data reading from the object file. file only needs to provide the read(nbytes) method, returning the empty string when there’s no more data.

[링크 : https://docs.python.org/3.1/library/pyexpat.html]

 

>>> r = open('18549666.xml')
>>> p.ParseFile(r)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: read() did not return a bytes object (type=str)

 

rb(read binary)가 중요한거였냐..

>>> r = open('18549666.xml','rb')

[링크 : https://stackoverflow.com/questions/1179305/expat-parsing-in-python-3]

'Programming > python(파이썬)' 카테고리의 다른 글

python expat parseFile()  (0) 2019.06.24
ubuntu에서 python으로 postgres 접속하기  (0) 2019.06.24
python pip 특정 버전 설치하기  (0) 2019.06.18
python pdb를 이용한 디버깅  (0) 2019.05.15
anaconda(python)  (0) 2019.05.15
파이썬 vscode 디버깅 하기  (0) 2019.05.14
Posted by 구차니

댓글을 달아 주세요

 

$ sudo apt install postgresql-server-dev-all

$ pip3 install psycopg2

$ python3

import psycopg2 as pg2 
conn=pg2.connect(database="postgres",user="postgres",password="1234",host="localhost",port="5432") 
cur = conn.cursor() 
cur.execute("select * from table_name") 
cur.fetchall()

[링크 : https://freeprog.tistory.com/100]

'Programming > python(파이썬)' 카테고리의 다른 글

python expat parseFile()  (0) 2019.06.24
ubuntu에서 python으로 postgres 접속하기  (0) 2019.06.24
python pip 특정 버전 설치하기  (0) 2019.06.18
python pdb를 이용한 디버깅  (0) 2019.05.15
anaconda(python)  (0) 2019.05.15
파이썬 vscode 디버깅 하기  (0) 2019.05.14
Posted by 구차니

댓글을 달아 주세요

Programming/android2019.06.21 18:23

헐.. api 발급 안 받아서 지도가 안뜬걸 메모리 부족해서 그런걸로 나 착각한겨?

(내 2만원.. ㅠㅠ)

 

[링크 : https://blog.cosmosfarm.com/archives/389/구글-지도-api-키-발급-받는-방법-maps-javascript-api/]

'Programming > android' 카테고리의 다른 글

android / 구글 지도 API 발급  (0) 2019.06.21
android studio /dev/kvm permission denied  (0) 2019.06.11
ubuntu android studio  (0) 2019.06.10
안드로이드 무선 디버깅(adb wifi)  (0) 2019.03.14
AndroidManifest.xml (binary) 디코더  (0) 2019.03.14
android REST client  (0) 2019.02.07
Posted by 구차니

댓글을 달아 주세요

Programming/node.js2019.06.21 18:06

효과가 있는진 확인 못함..

(그 메모리 용량 가기 전에 느려지는 것으로 보여 xml-stream 모듈에 문제가 있는 걸로 보임)

 

[링크 : https://stackoverflow.com/questions/38558989/node-js-heap-out-of-memory]

'Programming > node.js' 카테고리의 다른 글

node.js 메모리 사용 가능 용량 늘리기  (0) 2019.06.21
node.js fs.createreadstream highWaterMark  (0) 2019.06.19
node.js xml2js  (0) 2019.06.19
node.js Javascript heap out of memory  (0) 2019.06.19
node.js 용량 제한(?)  (0) 2019.06.18
electron ipc  (0) 2019.06.07
Posted by 구차니

댓글을 달아 주세요

Programming/node.js2019.06.19 04:16

스트림으로 읽어오는 놈을 찾다 보니 이런게 있는데..

희한하게(?) 너무 뜨문뜨문 읽어서 확인해보니

한번에 읽어오는 용량을 설정할수 있고 기본 값은 64kb 라고.. (kB가 아니라?)

 

Unlike the 16 kb default highWaterMark for a readable stream, the stream returned by this method has a default highWaterMark of 64 kb. 

options can include start and end values to read a range of bytes from the file instead of the entire file. Both start and end are inclusive and start counting at 0, allowed values are in the [0, Number.MAX_SAFE_INTEGER] range. If fd is specified and start is omitted or undefined, fs.createReadStream() reads sequentially from the current file position. The encoding can be any one of those accepted by Buffer.

[링크 : https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options]

[링크 : https://stackoverflow.com/questions/24005496/nodejs-copying-file-over-a-stream-is-very-slow]

[링크 : https://stackoverflow.com/questions/48065065/createreadstream-not-working-extremely-slow-for-large-files]

'Programming > node.js' 카테고리의 다른 글

node.js 메모리 사용 가능 용량 늘리기  (0) 2019.06.21
node.js fs.createreadstream highWaterMark  (0) 2019.06.19
node.js xml2js  (0) 2019.06.19
node.js Javascript heap out of memory  (0) 2019.06.19
node.js 용량 제한(?)  (0) 2019.06.18
electron ipc  (0) 2019.06.07
Posted by 구차니

댓글을 달아 주세요

Programming/node.js2019.06.19 03:45

스트림이 아니라 XML 파일이 1기가 넘어가면 한번에 못 읽음

[링크 : https://www.npmjs.com/package/xml2js]

 

스트림 파서라 용량 제한없이 읽을수 있음

[링크 : https://www.npmjs.com/package/xml-stream]

 

xml2js 보다 엄청 빠르다는데 안써봄

[링크 : https://www.npmjs.com/package/fast-xml-parser]

 

'Programming > node.js' 카테고리의 다른 글

node.js 메모리 사용 가능 용량 늘리기  (0) 2019.06.21
node.js fs.createreadstream highWaterMark  (0) 2019.06.19
node.js xml2js  (0) 2019.06.19
node.js Javascript heap out of memory  (0) 2019.06.19
node.js 용량 제한(?)  (0) 2019.06.18
electron ipc  (0) 2019.06.07
Posted by 구차니

댓글을 달아 주세요

Programming/node.js2019.06.19 03:07

참으로 다양하게 죽여보는구만.. -_-a

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [node]
 2: 0x5605160f2011 [node]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
 5: v8::internal::Factory::NewCode(v8::internal::CodeDesc const&, unsigned int, v8::internal::Handle, bool, int) [node]
 6: v8::internal::CodeGenerator::MakeCodeEpilogue(v8::internal::TurboAssembler*, v8::internal::EhFrameWriter*, v8::internal::CompilationInfo*, v8::internal::Handle) [node]
 7: v8::internal::compiler::CodeGenerator::FinalizeCode() [node]
 8: v8::internal::compiler::PipelineImpl::FinalizeCode() [node]
 9: v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl() [node]
10: v8::internal::CompilationJob::FinalizeJob() [node]
11: v8::internal::Compiler::FinalizeCompilationJob(v8::internal::CompilationJob*) [node]
12: v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() [node]
13: v8::internal::StackGuard::HandleInterrupts() [node]
14: v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*) [node]
15: 0x2557162840bd

 

[링크 : https://bloodguy.tistory.com/entry/nodejs-FATAL-ERROR-CALLANDRETRYLAST-Allocation-failed-process-out-of-memory-에러-원인-해결방법]

팔자에 없는 GC 공부하는 중.. 끄응..

'Programming > node.js' 카테고리의 다른 글

node.js fs.createreadstream highWaterMark  (0) 2019.06.19
node.js xml2js  (0) 2019.06.19
node.js Javascript heap out of memory  (0) 2019.06.19
node.js 용량 제한(?)  (0) 2019.06.18
electron ipc  (0) 2019.06.07
electron.js  (0) 2019.06.03
Posted by 구차니

댓글을 달아 주세요

Programming/node.js2019.06.18 23:54

 

RangeError: File size is greater than possible Buffer: 0x7fffffff bytes
    at FSReqWrap.readFileAfterStat [as oncomplete] (fs.js:453:11)

[링크 : https://medium.com/dev-bits/writing-memory-efficient-software-applications-in-node-js-5575f646b67f]

 

[링크 : https://stackoverflow.com/questions/52314871/parsing-large-xml-files-1g-in-node-js]

[링크 : https://codeforgeek.com/parse-large-xml-files-node/]

'Programming > node.js' 카테고리의 다른 글

node.js xml2js  (0) 2019.06.19
node.js Javascript heap out of memory  (0) 2019.06.19
node.js 용량 제한(?)  (0) 2019.06.18
electron ipc  (0) 2019.06.07
electron.js  (0) 2019.06.03
npm-run-all 병렬 빌드 (실패)  (0) 2019.05.29
Posted by 구차니

댓글을 달아 주세요