2013-05-15 5 views
1

이 질문을하는 이유는 일부 쿼리가 query_cache_limit보다 많은 메모리를 사용하는지 확인하기 위해서입니다. 어떤 사람들은 'table_name'과 같은 테이블 상태를 보여 주며 놀랐습니다. 나는 그것이이 질문과 관련이 없다고 생각한다. 감사.mysql에서 쿼리에 사용되는 메모리 크기를 얻는 방법은 무엇입니까?

+0

당신이 메모리를 사용하는 크기를 말할 때, 내 대답에 난 당신이 성능이 낮은 쿼리 서버에 미치는 영향을 의미 가정 타임 스탬프로 데이터를 검사 ...을/tmp 디렉토리에 로그 파일을 검사 너는 조사하고 싶다. 결과 집합의 크기 또는 그 이상의 상위 수준 일 경우 내 대답을 모두 무시하십시오. – Drew

답변

1

결과 집합의 크기는 MySQL에 재고가 없습니다.

Percona Server 확장 슬로우 쿼리 로그 형식에 필드를 추가하여이 정보를 지원합니다. 이 로그의 "Bytes_sent"필드를보십시오.

이는 심장 약한되지 않습니다 http://www.percona.com/doc/percona-server/5.5/diagnostics/slow_extended_55.html#memory-footprint

+0

감사합니다. Bill, 결과 집합이 한도를 초과하는지 MySql이 어떻게 판단합니까? 작업을 수행 할 수있는 방법이 있어야합니다. – user1342336

+0

예, 일부 내부 측정 값이 사용자에게 노출되지는 않습니다. –

1

참고를 참조하십시오. 생산이 아닌 다른 상자에서하십시오!

mysql을 중지하고 valgrind 뷰에서 시작하십시오.

잠시 동안 당신의 일을하십시오. 예를 들어 귀하의 루틴/쿼리를 사용하는 빠른 PHP를 실행합니다.

은 최대 20 초의 데이터 사용량을 캡처 할 수 있습니다.

그런 다음 아래의 같은 중지를 통해 mysql을 중지하십시오.

다음

service mysql stop 
apt-get install valgrind 
valgrind --tool=massif --massif-out-file=/tmp/massif.out /etc/init.d/mysql start 



    #----------- 
    snapshot=32 
    #----------- 
    time=217073 
    mem_heap_B=1140 
    mem_heap_extra_B=324 
    mem_stacks_B=0 
    heap_tree=empty 
    #----------- 
    snapshot=33 
    #----------- 
    time=226099 
    mem_heap_B=1156 
    mem_heap_extra_B=332 
    mem_stacks_B=0 
    heap_tree=detailed 
    n3: 1156 (heap allocation functions) malloc/new/new[], --alloc-fns, etc. 
    n5: 944 0x40AA47: ??? (in /bin/dash) 
     n3: 832 0x41184C: ??? (in /bin/dash) 
     n1: 704 0x4120F5: ??? (in /bin/dash) 
     n1: 704 0x4020E4: ??? (in /bin/dash) 
     n0: 704 0x4E4E76B: (below main) (libc-start.c:226) 
     n1: 96 0x411EC0: ??? (in /bin/dash) 
     n1: 96 0x4048E3: ??? (in /bin/dash) 
     n1: 96 0x403BD5: ??? (in /bin/dash) 
      n1: 96 0x40A88C: ??? (in /bin/dash) 
      n1: 96 0x402159: ??? (in /bin/dash) 
      n0: 96 0x4E4E76B: (below main) (libc-start.c:226) 
     n1: 32 0x41212F: ??? (in /bin/dash) 
     n1: 32 0x4020E4: ??? (in /bin/dash) 
     n0: 32 0x4E4E76B: (below main) (libc-start.c:226)