: : 안녕하세요?
: :
: : 개발에 문외한으로 이해가 잘안되는 부분이 있어서 문의를 드립니다.
: : 현재 메모리는 4G입니다. 정확히 설정이 되어 있고요..
: : 그런데 문제가 있습니다.
: :
: : 자체적으로 개발한 프로그램이 있습니다. 전용의 서비스를 위한 것이구요.
: : 이것은 cat /proc/meminfo 정보입니다.
: : Swap: 8389775360 22892544 8366882816
: : MemTotal: 4138780 kB
: : MemFree: 9148 kB
: : MemShared: 0 kB
: : Buffers: 226512 kB
: : Cached: 3296292 kB
: : SwapCached: 1144 kB
: : Active: 408760 kB
: : Inactive: 3454360 kB
: : HighTotal: 3276736 kB
: : HighFree: 2108 kB
: : LowTotal: 862044 kB
: : LowFree: 7040 kB
: : SwapTotal: 8193140 kB
: : SwapFree: 8170784 kB
: :
: : 이것은 TOP 정보이구요..
: :
: : 7:59pm up 5 days, 2:09, 1 user, load average: 0.03,
: : 0.07, 0.04
: : 901 processes: 900 sleeping, 1 running, 0 zombie, 0 stopped
: : CPU0 states: 5.1% user, 0.0% system, 0.0% nice, 94.0% idle
: : CPU1 states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
: : CPU2 states: 2.0% user, 25.0% system, 0.0% nice, 72.0% idle
: : CPU3 states: 7.1% user, 0.0% system, 0.0% nice, 92.0% idle
: : Mem: 4138780K av, 4129508K used, 9272K free, 0K
: : shrd, 226620K buff
: : Swap: 8193140K av, 22356K used, 8170784K
: : free 3290436K cached
: :
: : 이것은 vmstat 2 의 결과입니다.
: :
: : procs memory swap io
: : system cpu
: : r b w swpd free buff cache si so bi bo
: : in cs us sy id
: : 0 0 0 22356 9300 226620 3291424 0 0 0 13
: : 5 18 1 0 1
: : 0 0 0 22356 9852 226620 3291660 0 0 0 584
: : 380 393 3 1 97
: : 0 0 0 22356 9572 226620 3291828 0 0 0 0
: : 274 303 2 0 97
: : 0 0 0 22356 9620 226620 3291884 0 0 0 516
: : 244 305 0 0 99
: : 0 0 0 22356 9608 226620 3291912 0 0 0 0
: : 177 258 0 0 100
: : 0 0 0 22356 9592 226620 3291928 0 0 0 0
: : 215 308 0 0 100
: : 0 0 0 22356 9584 226620 3291944 0 0 0 390
: : 232 298 0 0 99
: :
: : 여기 저기 찾아보니 최대한 메모리를 활용하기 위해서 프로세서가 메모리사
: : 용을 다한 후에도 반환을 하지 않는다고 보았습니다.
: :
: : 처음 시작한지 얼마 안되었을때 프로세스가 약 500개(fork방식) 정도라고
: : 하면, 이 상태에서 특별한 증가나 감소가 없음에도 2초마다 약 10k~20k의
: : 메모리가 지속적으로 증가됩니다.
: :
: : 프로그래머는 원래 OS의 메모리 관리 정책이 바뀌었기 때문이라고 하더군
: : 요..
: : 프로세스의 생성 감소가 그렇게 많지가 않은데 저렇게 까지 메모리를 잡고
: : 있을 것이라는 생각은 들지 않습니다.
: :
: : 동일한 정도의 프로세서 수(약 500개)를 이전의 조립PC 서버에서는 1G를
: : 사용하였었고 그때는 정확히 2~3일이면 기본 시스템명령어들도 먹통이 됩니
: : 다. 그래서 메모리가 실제로 부족한가보다 생각하여 4G로 확장을 하였습니
: : 다만.. 여전히 문제가 됩니다.
: :
: : 제가 개발에 대하여서는 자신이 없어서 따질수도 없고.. 문제는 분명히 있
: : 어 보이는데.. 그리고, 메모리 현황이 위에서 처럼 전부 잡혀 있을 경우 비
: : 교적 자원을 많이 사용하는 웹서버가 먼저 죽어버립니다.
: :
: : 이것이 문제가 없는 것인가요? 분명히 1G 일때도 나왔던 문제인데.. 4G로
: : 올려도 오히려 프로세서 수는 감소되었는데도 데몬들이 계속 죽어 납니다.
: :
: : 너무나 답답해서 문의를 드립니다. 약간의 조언이라도 좋습니다.
: : 꼭좀 어떻게든 고집쌘 개발자(물론 개발자가 맞을지도...)와 예기를 좀 정
: : 확히 할 수 있었으면 좋겠습니다.
: :
: : 맨날 서버는 죽어나는데.. 문제점은 없다고 하고, 메모리는 끝까지 가있
: : 고.. 미치겠습니다. 화살은 전부 저에게만 --+
:
: --
: 다시 프로그렘을 업데이트하셔용...--지금 서버앞에게시는지요...