평소처럼 리눅스에서 자바 앱을 실행했는데 갑자기 아래와 같이 경고가 뜨는 경우가 있습니다. 분명 프로그램은 기존에 쓰던 것 그대로 인데,, 경고가 떠서 당황스러울 때가 있습니다. OpenJDK 64-Bit Server VM warning: Insufficient space for shared memory file: Try using the -Djava.io.tmpdir= option to select an alternate temp location. 그럴 때는 PC의 용량을 확인해 보면, 100% 다 찬것을 확인할 수 있는데 정리를 좀 해주면 다시 뜨지 않습니다. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 20G 0 100% /
로컬 환경이나, 다른 서버에서는 잘 되던 jps 가 어떤 서버에서는 되지 않는 경우가 있습니다. 여기서 "되지 않는다"는 건, jps 를 입력했는데 아무런 결과가 없다는 말입니다. jvm 인스턴스가 하나도 없더라도 Jps 에 대한 결과는 나와야되거든요. [abc@비정상서버 ~]$ jps [abc@비정상서버 ~]$ [abc@정상서버 ~]$ jps 10944 Jps 그래서 자바 버전도 확인하고, 환경변수도 보고 뭐 이래저래 찾아보다가 아래 stackoverflow 질문을 보게 되었습니다. ( stackoverflow.com/questions/3805376/jps-returns-no-output-even-when-java-processes-are-running ) 자바 프로세스가 돌아가고 있는데도, 아무런 결..
컴파일러 란? 흔히 컴파일러란, 고차원의 언어를 저차원의 즉 기계어로 옮기는 과정으로 이해를 하고 있습니다. 여기서 기계어란 H/W 가 이해할 수 있는 어셈블리어를 떠오르게 됩니다. 이게 전혀 틀린 말은 아니지만, JAVA 의 컴파일을 보다보면 조금 의아한 의문점이 생깁니다. 컴파일러에 대해 다시 한번 보고, C 언어의 컴파일과 JAVA 의 컴파일에 대해서 한번 알아 보겠습니다. 위키에 컴파일러를 찾아보면, 특정 프로그래밍 언어로 쓰고 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램을 뜻하며, 소스코드( 원시 코드 )를 목적코드로 출력한다고 합니다. C 계열의 언어를 예로 들면 C언어를 컴파일 하면 기계어인 어셈블리어로 변환이 되며 이는 H/W에서 이해할 수 있는 언어입니다. 자바에서 컴파일을 하면 ..
- Total
- Today
- Yesterday
- maven
- Linux
- Postman
- Git
- plugin
- Filter
- Spark
- install
- Index
- error
- scala
- intellij
- AWS
- JPA
- SpringBoot
- apm
- Size
- gradle
- spring
- elasticsearch
- Java
- Log
- Container
- mac
- tomcat
- Kibana
- logstash
- spring boot
- docker
- JSON
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |