You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to kaug
흠 기존에 Reactor 로 되었던 소스를 Proactor 로 고치면서 여기 저기 다시 손을 대다가 이상하게 서버를 키면 엄청나게 가상 메모리를 잡아 먹더군요.. 어디서 이렇게 메모리를 잡나 보다 보니.. ACE_Cached_Allocator 이 클래스를 호출하던 곳이 있더군요.. 소스 안의 내용을 보니깐 ACE_GURAD .. 즉 락을 걸어 주는 부분에 사용되는듯 한데 정확한 내용은 잘 모르겟어서요.. 흠 아직 더 테스트를 해봐야겟지만 예전에 데드락이 걸리거나 하는 문제가 이부분의 가상 메모리의 문제때문에 그런거는 아닌지 모르겟네요...
redpixel
unread,
Jun 27, 2006, 4:33:15 AM6/27/06
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to kaug...@googlegroups.com
ACE_Cached_Allocator에 템플릿 매개변수로 어떤 lock 클래스를 지정하셨는지 궁금하네요. (질문이 너무 두리뭉실한거 같아요. ^_^) 그냥 Thread_Mutex를 쓰셨다면 같은 쓰레드에서 재진입할 경우 문제가 될 수 있습니다. 혹시나 그런 경우라면 ACE_Recursive_Thread_Mutex를 써보시는게 어떨까 싶네요. Semaphore도 가능한거 같은데 이걸 쓴 경우는 경험이 없어서...
그리고 ACE_Cached_Allocator는 말그대로 생성자 매개변수로 지정된 청크개수만큼 이미 할당해두고 재활용하는 할당자 클래스입니다. 고로 항상 청크크기*개수만큼의 메모리 점유율을 계속 유지할겁니다. 너무 메모리를 많이 잡아먹는다면 개수를 어느정도 조정하는게 어떨까 싶네요.