
RAM을 사용하는 프로세스의 세부정보를 얻는 방법 에서맨 위명령 Mysql이 너무 많은 RAM을 사용하고 있음을 발견했습니다. Mysql이 평소와는 다르게 RAM을 너무 많이 사용하는 이유를 어떻게 알 수 있습니까?
" 이외의 프로세스에 대한 자세한 내용을 가져오는 명령이 있습니까?추신"
답변1
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을 실행해야 합니다. 이러한 지식을 바탕으로 더 나은 성능을 위해 쿼리를 최적화할 수 있습니다.