상세 컨텐츠

본문 제목

[알약루머] 5. 알약은 무겁다??

STORY

by ESTsoft 2012. 6. 29. 14:00

본문


"알약은 다른 백신 프로그램보다 무겁다??"


'알약'의 사용자분들중 "알약은 가벼워서 좋아요!"라고 말씀해주시는 분들도 많지만 반대로 '무겁다'고 말씀해주시는 분들도 계십니다.  이런 차이는 개인 사용자들의 PC환경이나 주관적인 체감에 따르는 경우가 많습니다. 사실, 이런 '개인 사용자의 주관적인 판단'을 객관적인 지표로 비교해보자면, 프로그램의 'CPU점유율'이나 '메모리점유율' 등을 기준으로 제시할 수 있을 것입니다. 


오늘은 그래서 이 '객관적인 지표'를 기준으로 '알약'이 과연 정말 무거운 백신인지 확인해보려고 합니다.


1. '알약'의 메모리점유율, 그 실체는?


먼저, 일반 사용자분들이 가장 많이 말씀해주시고, 확인하기 편한 '메모리점유율'을 기준으로 말씀드리도록 하겠습니다. '알약'이 메모리점유율이 높다고 말씀해주시는 분들은 대부분 Ctrl+Alt+Del 키를 누르면 나오는 '작업관리자'에서의 '프로세스 메모리 사용량'을 근거로 말씀해주십니다. 


<'알약 공개용 2.3버전'의 작업관리자 메모리 점유율 상태 - 알약 관련 프로세스는 확장자가 aye입니다.>



1. '알약'은 다른 기타 프로그램에 비해 메모리 사용량이 높지 않습니다.


위의 그림은 업무 중에 제 회사 PC에서 '알약 공개용'으로 '정밀검사'를 실시하면서 작업관리자를 열어 '프로세스'별 메모리 사용량을 캡처한 것입니다.  파워포인트, 아웃룩, MS 워드, 크롬 등 다양한 프로그램을 실행한 상황인데, 크롬 등 다른 프로세스들과 비교해보아도 백신프로그램인 '알약 2.3 공개용'의 메모리사용량이 높다고 할 수는 없습니다.


2. '알약'은 다른 '백신 프로그램'에 비해 주로 '유저모드 메모리'를 사용합니다.


어떤 프로그램(또는 '프로세스')이 PC에서 실행되면 (Windows OS를 예로) '커널모드'와 '유저모드'의 긴밀한 통신이 이루어지는 상황에서 실행이 됩니다. 쉽게 말씀드려 '커널모드'는 안전성을 위해 일반 사용자들이 쉽게 접근하기 힘들게 만들어 놓은 시스템차원의 영역이고, '유저모드'는 일반 사용자들이 컨트롤 할 수 있는 영역이라고 생각하면 되는데, 우리가 PC에서 프로그램을 실행시킬때 눈에 보이는 '유저모드'외에 '커널모드'에서도 많은 일이 진행되고 있습니다.


'유저모드 메모리'란, 쉽게 말씀드리면 '유저모드'에서 사용되어지는 메모리라고 할 수 있습니다. 일반 사용자의 입장에서 이해하기 쉽게 분류를 하자면 '물리메모리'+'가상메모리'라고 할 수도 있습니다. '작업관리자'에서 보이는 '프로세스 메모리 사용량'은 '물리메모리'이고.'물리메모리'에서 부족한 부분을 하드디스크에서 사용하지 않은 용량으로 활용할 수 있는 메모리가 '가상메모리'입니다.


'알약'은 설계상 '유저모드 메모리'의 사용비율이 높기 때문에 메모리 점유율이 높아보일 뿐입니다. 


'커널모드'에서 사용되는 '커널모드 메모리'의 사용량은 최소화하고, 안정적으로 사용할 수 있는 '유저모드 메모리'의 사용량이 높습니다. 대부분의 일반 사용자분들의 경우에는 '유저모드 메모리 사용량'만 확인할 수 있기 때문에 '알약'이 다른 백신보다 무겁다고 하시는 분들이 계십니다. 그러나 '커널모드 메모리'사용량을 포함한 실제 총 메모리 사용량을 보면 '알약'은 멀티엔진을 사용하면서도 다른 백신 프로그램들과 비교해 메모리점유율이 낮은 수준입니다. 


아래의 표를 보면 자세히 나와 있습니다.  


<4종 백신 프로그램의 Idle Time 시 메모리 점유율 비교 (실시간 감시 사용)>



<4종 백신 프로그램의 정밀검사 시 메모리 점유율 비교 (실시간 감시 사용)>


위의 그래프는 멀티엔진을 사용하는 알약공개용 2.2 버전과 해외백신, 단일엔진을 사용하는 국내외 백신 프로그램의 '메모리 사용량'을 분석한 테스트 결과입니다. (테스트 OS : Windows 7 SP1 )


'Pool Nonpaged Bytes + Pool Paged Bytes''커널모드 메모리'로 보시면 됩니다. '페이징'이란 용량확보를 위해 '가상메모리'로 돌려서 사용하는 행위를 말합니다. '커널모드 메모리'를 분류할 때, 위의 그래프에서 '페이징할 수 없는 메모리'와 '페이징 할 수 있는 메모리'로 분류되어 있습니다.


'Working set'은 ('작업관리자'에서 보이는 프로세스 메모리 사용량을 말하는) '물리메모리'입니다.


'Private Bytes''가상메모리'를 뜻합니다. 



3. '알약'의 DB업데이트 역시 '유저모드 메모리'를 사용합니다. '게임모드'를 알려드립니다!!


최근에 '게임'을 하던 중 알약 DB업데이트가 진행이 되면 버벅대기 때문에 무겁다고 말씀해주시는 분들이 계십니다. 모든 백신 프로그램의 DB업데이트는 많은 양의 메모리가 필요한것이 사실입니다. 앞서 말씀드렸지만 '알약'은 이런 DB업데이트의 경우 거의 100%  '유저모드 메모리'를 활용하고 있기 때문에 업데이트시 무거워 보일 수도 있습니다.


추가로 말씀드리자면 '알약'에서는 '게임'이나 '프리젠테이션'등을 하실 경우에는 DB업데이트를 멈추는 '게임모드'를 지원하고 있으니 다음의 내용을 참고하시면 감사하겠습니다. 게임중엔 업데이트 잠시 STOP! 알약 게임모드를 소개합니다!



2. '알약'의 'CPU점유율'은? '파일 연산속도'는?


사실, 'CPU점유율'은 일반 사용자가 확인하기가 쉽지 않습니다. 'CPU점유율'은 말그대로 프로그램이 CPU를 얼마나 사용하는지에 대한 것인데, 이 사용량이 수시로 변하기에 정확하게 측정하기가 힘듭니다. 

 

<4종 백신 프로그램의 정밀검사시 CPU 점유율 비교 (실시간 감시 사용)>


위의 그래프는 멀티엔진을 사용하는 알약공개용 2.2 버전과 해외백신,  단일엔진을 사용하는 국내외 백신 프로그램 정밀검사시 'CPU점유율'을 분석한 테스트 결과입니다.  

 

한편, 위의 항목 외에도 일반 사용자에게는 파일 읽기나 삭제 등의 파일 연산과 웹페이지를 여는 동작이 실제 체감할 수 있는 성능적 요소라고 할 수 있습니다. 다음은 각 상황에 대해 3회씩 테스트를 진행 후 나온 결과입니다.  

 

<4종 백신 프로그램의 정밀검사시 '웹페이지 열기' 비교 (단위 : milisec)>

 

<4종 백신 프로그램의 정밀검사시 '파일 읽기' 비교 (단위 : milisec)> 

 

<4종 백신 프로그램의 정밀검사시 '파일 복사' 비교 (단위 : milisec)>


                               

<4종 백신 프로그램의 정밀검사시 '파일 이동' 비교 (단위 : milisec)> 


                              

<4종 백신 프로그램의 정밀검사시 '파일 삭제' 비교 (단위 : milisec)>


'알약'은 멀티엔진을 사용하면서도 CPU 점유율이나 파일 연산 속도 면에서 다른 백신 프로그램들과 '비슷한' 수준입니다.


만약, 특정 PC에서 유독 알약의 메모리가 높다면, 개별 PC 상황을 점검해 볼 필요가 있습니다. 이럴 때는 알약 실행 후 [Menu]를 눌러 '신고'로 연락주시기 바랍니다. 어떤 상황인지 확인해 보겠습니다.


관련글 더보기

댓글 영역