| [ CnUnix ] in KIDS 글 쓴 이(By): HellCat (reentrant.� ) 날 짜 (Date): 1995년07월12일(수) 11시50분09초 KDT 제 목(Title): 야곱 님 질문있어요. 시스템이 맛이 가는 정도가 어느 정도에요? out of swap 이 됩니까? 그정도 까지 되면 가비지 콜렉션 들어가는 것도 300 메가 씩이나 하면 꽤 시간이 걸릴꺼에요 리커버가 된다해도 말이죠. 그리고 SunOS 4.1.4 쓰세요. 대부분 커늘 자체내에서 필요한 메모리는 아예 락이 되어있어서 지장이 없을 지 모르지만 시스템 자체내에 중요한 커늘 밖으로 돌아가는 중요한 프로세스들 자체가 스왑이 모자랄때 마침 메모리가 필요하게 된다는 둥 하게 될경우 그 프로세스 자체가 맛이 가면 그때는 정말 리부트 하는 수밖에 없죠. 예를 들어..스왑이 막 맛이 갔을때. 로긴을 할려고 막 하는데 그 로긴을 받아주는 프로세스를 spawn 해주다 메모리 부족 맛이 가기 시작하면 스폰 해주는 프로세스는 에러니까 다시 하려 하고 다시 또 메모리 부족으로 맛이가고..근데..그 re-spawn 해주는 속도가 타이트 룹 안에서 엄청난 속도로 해주게 되서 아무리 키보드를 빨리 친다해도 그 사이에 낑겨 들어 딴걸 하기에는 엄청난 인내심이 필요로 하지요. 즉 악순환이 계속 되는 불행한 사태도 가능합니다. 일단 어느정도 명령들을 실행할수있는 경우에는 top 을 실행 시켜 줘서 머가 그렇게 메모리를 쓰고 있는지 한번 검토 해보실 필요도 있지요. 시스템 디몬 프로세스가 맛이 가서..메모리를 말아 먹고 있게 될수도 있거든요 (스왑에러의 사이드 이펙트로 말이죠) 결국 그런 경우는 리부트 하니면 그 특정 프로세스를 죽이고 다시 시작해줘야 하겠죠. 근데..제 경우에는 일단 스왑 에러 한번 나면 리부트 합니다. 괜히 찝찝해서.. 괜히 제 실수로 잘못 되는 것도 이거 혹시 스왑에러 한번 나고 나서 사이드 이펙트 아닌가 하는 구실이 생기거든요. 몇몇 벤더들과 이야기 해본 결과는 스왑에러가 로그 될 경우 그 이후로 시스템 자체 기능이 undefined 라고 하면서 약을 올리더군요.. 그러면서 저보구 리부트 해서 쓰라는 황당한 대답을 들은 적도 있지요. 대게 메모리 싸이즈의 1.5 배 에서 2 배 이상은 사실 그리 필요가 없는데.. --- if (t_snddis(KIDS[i].fd, (struct t_call *)NULL) == -1) { t_error("날 죽여라!!"); longjmp ((jmp_buf) HELL, -1); } |