swap을 많이 쓰게 되면 소켓 I/O에 문제가 생긴다??
글쓴이: purewell / 작성시간: 수, 2006/04/05 - 3:13오후
아직 이렇다할 실마리가 잡히지 않은 상태다.
Linux 2.4.21-15.ELsmp #1 SMP Thu Apr 22 00:18:24 EDT 2004 i686 i686 i386 GNU/Linux
RAM : 2G
Swap: 4G
해당 프로세스는 단일스레드 프로그램이며 소켓을 사용하고(연결 객체는 그리 많지 않다), 메모리 괴물이다. - 거의 1.6기가? 2기가? 정도 먹는다.
실메모리의 절반을 스왑이 쓰고 있을 때, 이 프로세스는 마치 인터럽트에 걸린 것처럼 옴짝달짝하지 않고 있는다.
이때 연결된 소켓 컨넥션으로 무엇을 날리든 아무런 응답을 해주지 않는다. (CPU타임은 폭주를 한다!!)
ㅡ,.-) 무엇 때문일까?
예상하건데 엄청난 양의 데이터를 swap-in/out하면서 CPU타임을 프로세스에게 제대로 못 주는 것 같다.
이런 경우 메모리를 어떻게 관리해야할지 참 난감하기 서울역에 그지 없다.
(물리적 메모리를 늘이면 해결될 것 같지만)
댓글
제가 생각하기로는
제가 생각하기로는 당연히 옴짝달싹 안하는게 맞는것 같네요..
프로세스에서 메모리 할당 요청이나 사용요청이 있는데 이게 실메모리에 없으면 페이징이 일어나겠지요.. 이때 페이징이 모두 마쳐야지만 해당 프로세스가 메모리를 사용할수 있을테니 프로세스가 블락되는것 같네요..
어쩔수 없이 메모리를 늘리는 수밖에 없네요.. 페이징이 그렇게 자주 일어나면 사실 그건 시스템 과부화 아닌가요?
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기