CoreDump란 무엇이며, 어떻게 생성하는가?
CoreDump란 무엇인가?
- CoreDump1는 Linux 커널에서 문제가 발생했을 경우 발생했던 문제에 대한 정보를 찍어내는 정보 입니다.
- CoreDump의 정보로 커널에 발생한 문제에 대해 분석이 가능하므로 시스템 엔지니어링에 대해 중요한 포인트라고 할 수 있을것 같습니다.
- 그래서 저는 제가 공부를 한 개념을 토대로 CoreDump를 몇 가지 방법을 소개해 드리려고 합니다.
방법1. 명령어를 통한 일회성 CoreDump 생성
ulimit -a
명령어를 통해 커널에 셋팅된 설정값들을 확인이 가능합니다, 저희는 core file size를 확인해야 합니다.
아래 출력물을 보시면 core file size가 0으로 셋팅이 되어있는것을 보실 수 있는데요.
이는 CoreDump 파일의 사이즈를 0으로 즉 찍지 않도록 설정이 되어있는것이지요.[root@JechBlog ~]# ulimit -a core file size (blocks, -c) 0 ## 이 부분!! data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited ... 이하 생략 ...
ulimit -c unlimited
명령어를 수행하면 아래와 같은 결과를 보실 수 있습니다.
[root@JechBlog ~]# ulimit -c unlimited [root@JechBlog ~]# ulimit -a core file size (blocks, -c) unlimited ## 이 부분!! data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited ... 이하 생략 ...
- 이 명령어는 커널의 core file size 셋팅값을 변경해주는 명령어 입니다.
- 다만 이 명령어는 재부팅 후에는 다시 원복이 되기에 일회성이라고 보시면 될것같습니다.
- 이 명령어는 커널의 core file size 셋팅값을 변경해주는 명령어 입니다.
방법2. 파일 수정을 통한 영구적 CoreDump 생성
- /etc/security/limits.conf 파일의 맨 마지막 하단에 라인을 추가 합니다.
[root@JechBlog ~]# tail /etc/security/limits.conf ... 이하 생략 ... * soft nofile 65535 * hard nofile 65535 root soft nofile 65535 root hard nofile 65535 * - core unlimited ## 이 부분!! (작성 필요)
- 이 방법을 사용하여 설정했을 때는 재부팅 후에도 영구적으로 적용이 가능합니다.
- 보통 고객사에 나가게 되면 영구적으로 설정이 필요하여 방법2의 방법이 많이 쓰이지 않을까 싶습니다.
이 글을 마치며
- 오늘은 CoreDump란 무엇인지 생성은 어떻게 하는지 간략하게 두 가지 방법으로 알아보았는데요.
IT업계에서 현업으로 일하는 저로써는 조금 많이 유용하게 썼던것 같습니다. - 다음에 또 엔지니어링에 도움이 될 수 있는 자료를 공부해서 블로그에 올리도록 하겠습니다.
부족하지만 제 긴글을 읽어주셔서 감사합니다!
참조 링크 및 각주