
나는 리눅스 파일 시스템에 대해 잘 모른다. 내 컴퓨터에 centos가 설치되어 있습니다. 갑자기 내 웹이 작동을 멈췄어요. 웹 사이트를 탐색할 때 /var/tmp/의 sql_2031_0.MYD 파일이 점점 커집니다. 메모리를 소비하고 tmp가 100% 채워지면 웹이 열리지 않습니다. 메모리를 차지하는 삭제된 파일이 있다는 것을 알았습니다. 나는 다음을 사용하여 메모리를 0으로 설정했습니다.
ls -l /proc/7415/fd/10618322
이 이후에는 삭제된 모든 파일이 0 메모리를 사용하고 있습니다. 아래 명령으로 확인
sudo lsof | grep deleted
여기서 DB 정보와 DF 출력을 볼 수 있습니다.
답변1
귀하의 웹사이트는 너무 복잡하거나 잘못 작성되어 서버가 처리할 수 있는 것보다 더 많은 데이터를 스풀링하는 하나 이상의 쿼리가 있는 MySQL 데이터베이스로 뒷받침되는 것 같습니다. 그렇지 않으면 쿼리가 전적으로 합리적이며섬기는 사람이는 비참하게 잘못 지정/구성되었습니다.
어느 쪽이든, MySQL은 메모리가 부족하여 임시 데이터를 디스크상의 테이블에 스풀링하기로 선택했습니다. 서버에 사용 가능한 RAM이 부족한 것으로 나타나면 RAM 업그레이드가 필요하다는 신호일 수 있습니다. 서버 RAM이 괜찮아 보인다면 MySQL이 사용 가능한 RAM을 사용하도록 최적으로 구성되지 않았다는 신호일 수 있습니다.
어쨌든 첫 번째 단계는 DBA에게 문의하는 것입니다. 제대로 실행되지 않는 쿼리와 높은 임시 공간 사용량에 대해 진행 중인 데이터베이스 활동을 조사하도록 요청합니다.
당연하지 만약당신은그러면 DBAhttps://dba.stackexchange.com/questions/30505/why-does-mysql-produce-so-many-temporary-myd-files시작하기 좋은 곳일 수 있습니다.