Linux에서 메모리 문제를 해결하는 방법

Linux에서 메모리 문제를 해결하는 방법

RAM을 사용하는 프로세스의 세부정보를 얻는 방법 에서맨 위명령 Mysql이 너무 많은 RAM을 사용하고 있음을 발견했습니다. Mysql이 평소와는 다르게 RAM을 너무 많이 사용하는 이유를 어떻게 알 수 있습니까?

" 이외의 프로세스에 대한 자세한 내용을 가져오는 명령이 있습니까?추신"

답변1

SHOW PROCESSLIST현재 실행 중인 쿼리에 대한 정보를 얻기 위해 MySQL 내에서 실행할 수 있습니다 .

SHOW PROCESSLIST에 대한 MySQL 문서

답변2

mytop - 실시간 MySQL 서버 성능을 모니터링하기 위한 명령줄 유틸리티입니다. mytop이 제대로 작동하려면 다음이 필요합니다.

  • Perl 5.005 이상
  • Getopt::긴
  • DBI 및 DBD::mysql
  • 용어::CPAN의 ReadKey

그리고 위에서는 Linux 배포판에 대해 지정했습니다.

답변3

MySQL이 최적화되지 않은 쿼리를 처리하는 동안 대규모 인 메모리 임시 테이블을 생성해야 하는 것처럼 들립니다.

활성화되지 않은 경우 my.cnf 파일에 다음을 추가하여 느린 쿼리 로그를 활성화합니다.

log_slow_queries   = /var/log/mysql/mysql-slow.log
long_query_time    = 2
log-queries-not-using-indexes

그런 다음 /var/log/mysql/mysql-slow.log 파일을 살펴보세요. 해당 쿼리가 실행될 때 무슨 일이 일어나고 있는지 알아보려면 파일에 나열된 각 쿼리에 대해 EXPLAIN을 실행해야 합니다. 이러한 지식을 바탕으로 더 나은 성능을 위해 쿼리를 최적화할 수 있습니다.

관련 정보