대용량 메모리 사용 건.
글쓴이: khaki76 / 작성시간: 화, 2012/09/11 - 4:45오후
제목과 같이 대용량 메모리를 처리하기 위한 내용인데요.
변환기에서 대용량 메모리 1.4G 정도의 메모리를 불러 들여서 처리 해야 되는데요.
변환기에서 나머지 0.6G정도의 메모리를 이용해서 처리하기 힘들다 보니
여러 가지 방안을 고민하고 있습니다.
최종 특화된 방안으로 IPC를 이용한 방안으로 처리 해 볼까하는데요.
혹시, 이 외의 다른 방법으로 처리 해 보신 분 있으시면
노하우 좀 부탁 드리겠습니다.
IPC 방법도 찾아 보니 변환기에서 이에 해당하는 메모리를 할당하는 개념 같은데요.
그렇다면, 현재 방법과 전혀 다르지 않아서 포기를 했습니다.
혹시, 이런 방법을 해결 하신 경험 있으시면 공유 부탁 드립니다.
물론 64비트로 간다거나, 혹은 boot로그를 고쳐서 3G까지 사용 할 수있지만,
서버에서 돌리다 보니 제가 임의로 조작이 불가능한 상황인지라
내용은 위와 같습니다. 감사합니다.
Forums:
문제상황에 대한 설명이 조금 부족합니다. :-) 특히
문제상황에 대한 설명이 조금 부족합니다. :-)
특히 왜 1.4G의 대용량 메모리가 필요한 이유가 빠져있네요.
컴퓨팅 환경에서 발생하는 다양한 문제들을 해결하려 할때, 뭔가 획기적인 방법이 없을때 시도할 수 있는 방법은 분할정복 입니다.
Problem Space의 규모가 커서 발생하는 문제는 분할하여, 해결하고, 합치는 방법입니다.
위의 예를 들면 1.4G의 메모리 공간을 feature에의해 분할 할 수 만 있다면 해결책은 자동으로 나올것 같습니다.
분할하여 해결할 수 있는방법
- 전체를 메모리에 로딩하지 않고, 그때그때 필요한 부분만 로딩한다.
- 다수의 프로세스에 분할 로딩한다. 그리고 메시지 통신으로 계산(Computation) 한다.
분할하지 않고 규모자체를 줄이는 방법
- 압축한다. --> 1.4G의 크기를 압축하여 140M 정도로 줄일 수 만 있다면, 문제는 매우 쉬워 지겠죠
- 파일, Btree, DBMS에 저장하여 처리한다. --> 이젠 대용량 메모리 자체가 필요 없을겁니다.
특정 도메인에 한정된 문제상황을 언급이 없으셨기에, 일반적인 얘기만 했네요. 도움되시길 바랍니다.
Java 인가요?
예전에 Weka 쓸 때 32bit Java 로 1.4GB까지만 할당할 수 없었던 기억이 나네요.
댓글 달기