ACE_Cached_Allocator 이 클래스의 사용 용도가 뭔가요..?

11 views
Skip to first unread message

miraro

unread,
Jun 26, 2006, 9:16:59 PM6/26/06
to kaug
흠 기존에 Reactor 로 되었던 소스를 Proactor 로 고치면서
여기 저기 다시 손을 대다가
이상하게 서버를 키면 엄청나게 가상 메모리를 잡아
먹더군요..
어디서 이렇게 메모리를 잡나 보다 보니..
ACE_Cached_Allocator 이 클래스를 호출하던 곳이
있더군요..
소스 안의 내용을 보니깐 ACE_GURAD .. 즉 락을 걸어 주는
부분에 사용되는듯 한데
정확한 내용은 잘 모르겟어서요..
흠 아직 더 테스트를 해봐야겟지만 예전에 데드락이
걸리거나 하는 문제가 이부분의 가상 메모리의
문제때문에 그런거는 아닌지 모르겟네요...

redpixel

unread,
Jun 27, 2006, 4:33:15 AM6/27/06
to kaug...@googlegroups.com
ACE_Cached_Allocator에 템플릿 매개변수로 어떤 lock 클래스를 지정하셨는지 궁금하네요. (질문이 너무 두리뭉실한거 같아요. ^_^) 그냥 Thread_Mutex를 쓰셨다면 같은 쓰레드에서 재진입할 경우 문제가 될 수 있습니다. 혹시나 그런 경우라면 ACE_Recursive_Thread_Mutex를 써보시는게 어떨까 싶네요. Semaphore도 가능한거 같은데 이걸 쓴 경우는 경험이 없어서...

그리고 ACE_Cached_Allocator는 말그대로 생성자 매개변수로 지정된 청크개수만큼 이미 할당해두고 재활용하는 할당자 클래스입니다. 고로 항상 청크크기*개수만큼의 메모리 점유율을 계속 유지할겁니다. 너무 메모리를 많이 잡아먹는다면 개수를 어느정도 조정하는게 어떨까 싶네요.

2006/6/27, miraro < mir...@dreamwiz.com>:
Reply all
Reply to author
Forward
0 new messages