본문 바로가기

memory5

IIS Hang 증상시 메모리 덤프 생성하기 이글은 앞서 작성한 DebugDiag 사용법에 IIS 메모리 덤프 사용법에 대한 글이다. https://asecurity.dev/entry/DebugDiag-Process-Memory-Dump-%EC%88%98%EC%A7%91-%EB%B0%8F-%EB%B6%84%EC%84%9D-%EB%B0%A9%EB%B2%95 DebugDiag - Process Memory Dump 수집 및 분석 방법 클라이언트/서버를 개발하여 사용하던중 불특정하게 프로그램이 종료되거나 과도한 시스템 리소스를 사용하는 경우가 있다. 이를 분석하기 위해서는 해당 시점에 발생했던 이벤트와 실제 처리 asecurity.dev 만약 IIS에서 행증상이 발생하였는데, 서비스 때문에 어쩔수 없이 재시작하였다고 가정해 보자 그럼 이 원인은 해결할수.. 2020. 11. 27.
Windbg - Crash Dump 발생시 기본 체크 사항들 Crash Dump 분석 체크 리스트 여기서는 덤프 분석 시 기본적인 확인할 사항을 정리 해본 것 입니다. 해당 상황에 아래 확인 사항들을 보시면 문제점 해결하시는데 도움이 되실 겁니다. 기본 사항 내부 자료 검색 Google 혹은 Microsoft Search에서 알려진 이슈가 있는지 검색 (가끔 답을 바로 찾을수도..) 툴을 이용해서 저장한 Dump (자동 혹은 수동으로 생성..) OS/SP 버전 (서비스팩) OS언어 Debug 시간 System 가동 시간 컴퓨터 이름 .kframes 100 Application Crash or hang 일때 기본 분석 (!analyze –v 또는 행이라면 !analyze –v –hang) Crash 와 hang의 Critical Sections 확인 (!locks .. 2020. 11. 27.
DebugDiag - Process Memory Dump 수집 및 분석 방법 클라이언트/서버를 개발하여 사용하던중 불특정하게 프로그램이 종료되거나 과도한 시스템 리소스를 사용하는 경우가 있다. 이를 분석하기 위해서는 해당 시점에 발생했던 이벤트와 실제 처리하던 코드를 확인하면 원인 분석과 해결을 보다 빠르게 진행할 수 있다. 만약 여러분이 개발한 프로그램이 이러한 상황이라면, 이벤트를 모니터링하고, 메모리 덤프를 수집해야 할 것이다. 이때 어떻게 메모리 덤프를 수집할까? 윈도우에서 프로세스 덤프를 수집할 수 있는 방법은 몇가지 있다. 그중 가장 간단한 방법으로는 작업 관리자에서 프로세스를 선택하고 마우스 우 클릭을 통해 메모리 덤프를 생성하는 것이다. DebugDiag 2.3 하지만 이 방법은 오류 발생이나 문제점을 확인하고 싶은 상황(예외 발생, 메모리 오류, CPU 과다 사용.. 2020. 11. 27.
Windows, Linux Memory Swap and Paging 리눅스와 윈도우는 메모리 관리 방법에 대해서 얘기해 보고자 한다. 윈도우와 리눅스는 기본적으로 메모리 관리 체계는 같다. 다만 이를 운용하는 방식이 조금 다르다고 할 수 있다. Windows / Linux 가상 메모리 관리 – Paging, Swap 윈도우와 리눅스 모두 부족한 메모리를 위해 페이징(paging), 리눅스에서는 스왑(swap)을 통해 부족한 메모리를 보조저장장치인 하드 디스크를 사용하게 된다. 이를 보통 “가상 메모리“라고 하며, 현재 사용중인 가상 메모리 용량을 확인하기 위해서는 다음과 같은 명령으로 확인이 가능하다. Linux 가상 메모리 – 확인 리눅스의 경우 free 명령을 통해서 확인할 수 있다. 아래 명령은 메모리 사용량을 Megabyte 단위로 사용량을 표시하는 방법이다. s.. 2020. 10. 27.
Clear to Memory Cache, Buffer on Linux 메모리를 비우기 전에, 우선 먼저 메모리를 알아야 할 것 같다. free 명령을 이용해서 현재 메모리 상황을 보면 다음과 같다. 메모리는 현재 1GB(985Mbyte )가 전체이고, 현재 사용중인 메모리는 170Mbyte이고 비어있는 공간은 230Mbyte 이다. 이외 buff/cache가 있는데 이는 실제로 사용이 가능한 공간이라고 봐도 무방하다. 그래서 뒤에 available이라는 문구로 사용이 가능하다고 표현하고 있다. 그렇다면 buff/cache는 어떤 공간일까. 이와 관련있는 부분으로는 Pagecache와 BufferCache에 대해서 알아보도록 하겠습니다. PageCache/BufferCache PageCache와 BufferCache는 같은것 같지만 조금 다른게 구분이 필요하다. 먼저 Pag.. 2020. 10. 22.