리눅스 분류
메모리사용율이 어째서 이런지...
작성자 정보
- 강진원 작성
- 작성일
컨텐츠 정보
- 1,498 조회
- 2 댓글
- 0 추천
- 목록
본문
안녕하세요.
top 명령으로 메모리 사용량을 확인하고 있는데요, 이상한 점이 있어서 질문드립니다.
리눅스는 워낙 초보수준이라 도움 부탁드립니다.
제가 작성한 프로그램이 있습니다. IvrSvcApp 라는 이름입니다.
이놈이 시작되면서 약 120 개 정도의 쓰레드를 생성하는데요, 프로그램이 구동중일 때 top 명령을 치면 다음과 같이 나옵니다.
여기서 이상한건, 현재 시스템 메모리가 1G 인데요 결과를 보면 각 쓰레드가 메모리의 5% 씩을 사용하고 있는걸로 나옵니다, 그렇다면 20개의 쓰레드만 돌고있어도 시스템 메모리를 다 써버리는 것 아닙니까? 근데 분명히 쓰레드는 120개가 떠 있거든요?
메모리 요약을 보아도 전체 1G 중에 500M 가 free 상태로 나옵니다.
혹시 쓰레드가 메모리 영역을 공유하기 때문에 이런건가요? 현제 상황이 메모리가 모자라는 상황은 아닌가요?
ㅠ.ㅠ 답변 부탁드립니다.
관련자료
-
이전
-
다음
댓글 2
최씨님의 댓글
- 최씨
- 작성일
스왑 메모리를 너무 작게 잡으신거 같네요..
보통 메모리의 두배정도로 잡기는 한데 특별한 기준은 없구요
님은 물리 메모리의용량이 크시기때문에 스왑이 크지 않아도 되겠지만
그래도 스왑이 8메가는 너무 한거 같네요..^^;;
우선 스왑을 500메가 이상정도로 잡아주시구요
리눅스에서는 메모리 관리가 조금 다르다고 얼핏 들은 기억이 나네요..
왜그런지는 모르겠지만 메모리를 잡고있다가 요청이 들어오면 메모리를 풀어주는 식이라고
들었던것 같네요..
보통 메모리의 두배정도로 잡기는 한데 특별한 기준은 없구요
님은 물리 메모리의용량이 크시기때문에 스왑이 크지 않아도 되겠지만
그래도 스왑이 8메가는 너무 한거 같네요..^^;;
우선 스왑을 500메가 이상정도로 잡아주시구요
리눅스에서는 메모리 관리가 조금 다르다고 얼핏 들은 기억이 나네요..
왜그런지는 모르겠지만 메모리를 잡고있다가 요청이 들어오면 메모리를 풀어주는 식이라고
들었던것 같네요..
강진원님의 댓글
- 강진원
- 작성일
감사합니다.
님 말씀데로 실제 메모리가 1G 인터라 그쪽은 크게 신경쓰고 있지 않습니다.
특히나 이 시스템은 범용으로 사용하는것이 아니라 위에 나열된 서비스 구동을 위해서만 존재하는 장비거든요.
감사합니다.
님 말씀데로 실제 메모리가 1G 인터라 그쪽은 크게 신경쓰고 있지 않습니다.
특히나 이 시스템은 범용으로 사용하는것이 아니라 위에 나열된 서비스 구동을 위해서만 존재하는 장비거든요.
감사합니다.