메모리최적화원리는뭘까요?..
 리네트비숍。 미디어로그가기
 조회 : 8353 , 2008/08/29 09:00
메모리최적화유틸리티.. 여기저기서 많이 보는데요..
버튼하나 누르면 메모리공간이 확보되는 그런 기능을 하는 녀석이죠.
그 원리는 뭘까요? 어떤 원리로 메모리공간이 확보되는지 예전부터 궁금했답니다..
모 사이트에서 설명이 있던데 전문용어로 쫙 적혀있어서 ..
답변부탁드릴게요 ;;
121.180.248.xxx
불법 광고글 신고하기
 답변 1
 답변 : 메모리최적화원리는뭘까요?..
허접프로그래머   2008/08/29 16:27 [이의제기/추가질문] [부실답변 신고]
 
여러가지 기법들이 있지만 그걸 설명해드리는 것을 바라시는 것 같지는 않고...

우선 간단히 이론적인 면만 설명해 드린다면...

잘못된 메모리라는 것은 일반적으로 다음과 같습니다.

1. 어플리케이션에서 사용하기 위해 잡아놓았으나 사용되지 않는 메모리.

2. 어플리케이션에서 사용하기 위해 잡아놓았으나 어플리케이션이 종료되면서 해제되지 않은 메모리

3. 특정 DLL이나 서비스가 사용하기 위해 예약한 메모리였지만 DLL이나 서비스 자체가 타 프로그램에서 사용되지 않는 경우.

4. 운영체제에서 사용하기 위해 확보했으나 사용되지 않는 경우

5. 디바이스 드라이버를 위한 영역으로 할당되었으나 해당 장치가 연결되지 않은 경우.

이 외에도 여러 경우가 있겠습니다만. 기본적으로는 이정도가 되겠네요. 이것도 간단하게 설명한 것이고 실제로는 1, 2번 항목만 해도 수백가지 경우가 있을 겁니다.

하여간, 메모리 영역을 검사하여 이러한 메모리 영역이 존재하는 가를 확인하고, 존재하지 않는 경우에는 프로세스를 강제로 죽이거나 메모리를 강제로 해제하여 다른 프로그램이 해당 영역을 사용할 수 있도록 하는 것이 최적화입니다.

사실 이런 메모리 최적화라는 것이 큰 성능의 향상을 기대하기는 힘들죠. 중요한 것은 어플리케이션을 짤때 잘 짜서 메모리 누수가 없도록 하는 것이겠습니다....만, 짜다보면 그게 쉽지만은 않더군요...ㅠ.ㅠ
119.64.9.xxx
이글 광고글로 신고하기
I
   이 게시물의 댓글 보기
  bluemun (ID) bluemun님의 미디어로그 가기  / 08-08-29 11:04/ 이댓글에댓글달기
  원리까지는 잘 모르겠지만
메모리 최적화라는 현재 프로세서가 죽었는데도 메모리 영역을 잡아 다른 프로그램이 이 영역을 사용하지 못하게 하는 경우가 있습니다. 가비지라고 할 수 있는데 이건 프로그램 짜보신 분들은 알겠지만 프로그램에서 메모리 영역을 잡습니다. 다 사용후에는 메모리를 시스템에 반환해야 코드를 넣야 하는데 그렇지 못한 경우도 있고 비정상 종료로 인해 메모리를 반환하지 못하는 경우도 있습니다. 점점 이런 가비지들이 쌓이다 보면 메모리는 넉넉하지만 실제 사용할 수 있는 부분이 줄어들어 디스크 페이징 영역을 읽고/쓰기 시도가 빈번해 지면서 시스템 성능이 떨어지죠... 이런 가비지를 정리해 주는 유티리티로 알고 있습니다. 부가적으로 디스크정렬처럼 메모리도 정렬해주는 것도 있는 거 같더군요.
(sioneltnam) sioneltnam님의 미디어로그 가기  / 08-08-29 12:50/
답변고마워요~
  mhk92 (ID) mhk92님의 미디어로그 가기  / 08-08-29 13:02/ 이댓글에댓글달기
  명쾌한 설명이시네요. 저도 한 수 배우고 갑니다. ^^
로그인 | 이 페이지의 PC버전
Copyright NexGen Research Corp. 2010