[질문] 대용량의 메모리가 필요한 프로그램에서 조심해야할 부분은? 혹은 미리 처리해야할 작업은?

jekai의 이미지

안녕하세요, python programming을 하고 있습니다.

대용량의 메모리가 필요한 program을 만들고 있는데요,

프로그램이 돌아가는 것을 보니

(어쩔수 없이...)input size의 exponential이상으로 메모리를 잡아먹는것 같네요..ㅠㅠ

physical memory 128G , 64bit linux에서 프로그램을 돌리고 있는데요,,,

프로그램을 돌리다보니 input size가 적당할때는 프로그램이 완료가 되는데(이때 top했을때, 리소스,가상메모리는 각각 40G정도 사용하는것 같더군요..), input size가 그 이상이 될때에는, 어처구니 없는 곳에서 error가 납니다.( 메모리 allocation하는 부분이라든지, program 돌아가는 logic상 절대 일어날 수 없는 결과가 나와서 죽기도 하고, assertion을 정말 많이 박아놨거든요.., python이 segmentation fault가 나서 죽기도 합니다.), 그외 program안에서 popen도 수도없이 call하고, threading도 씁니다. 그러나, 각 sub thread는 간단한 popen만하고 resource는 많이 안씁니다. main thread에서만 엄청나게 memory를 씁니다. 그러나 python에서 out of memory exception은 난적이 없네요...

지금 stack size등 unlimit으로 설정하고 돌려보고 있긴한데요( limit, unlimit<-이것도 상관이 있나요?? )

대용량의 메모리가 필요한 program에서 미리 처리해줘야할 system설정이나, program skill 같은것이 있나요?

그럼 고수님들의 조언 부탁드리겠습니다.

감사합니다.

익명 사용자의 이미지

실제 사용중일때 메모리는 얼마나 쓰게되나요?
cat /proc/meminfo 라던지 cat /proc/cpuinfo 와 uname -a 정도는 같이 올려주는 센스

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.