2009-10-16 3 views
4

MySQL 서버의 'show processlist'는 '시스템 잠금'상태에있는 많은 스레드를 나타냅니다. 종종 '잠김'이 뒤 따르고 있습니다. 우리는 MyISAM 테이블에 업데이트/삽입 뒤에 어떤 선택 잠금을 가지고있다.MySQL + MyISAM의 "System lock"

그러나 '시스템 잠금'은 '잠김'(프로필러에 따라 간단한 선택에 최대 2 초까지 추가하는 경우가 많음) 이상을 보여 주며 그 의미를 이해하지 못합니다. 나는 시스템 잠금에 대한 많은 정보를 온라인으로 찾을 수 없었지만, 거기에는 대부분 mysqld가 동일한 db에 액세스하는 상황에 대해 논의하고있다. 또한 내 '건너 뛰기 외부 잠금'변수는 false입니다.

누구나이 경험이 있습니까?

부록 :

도움이된다면, 나는 PROCESSLIST 약 3 대 1로 테이블 잠금 ('잠금')보다 더 많은 시스템 잠금을 참조하는 경향이있다. 어떤 이유로 '시스템 잠금'이 효과적으로 일반 테이블 잠금을 위해 출력 될 수 있습니까?

+0

테이블 잠금보다 시스템 잠금이 더 많이 필요합니다. 파일 잠금이 어떻게 사용되는지를 설명하는 페이지가 mysql 매뉴얼에있다. – longneck

+0

그냥 간과하지 않았 으면 좋겠지 만 링크가 있습니까? 매뉴얼에서 "시스템 잠금"과 "파일 잠금"을 검색하면 각각의 정보와 정보가 없습니다. – Yash

답변

1

mysql이 mysql이 요청한 잠금을 OS가 기다리는 동안이 상태가 표시됩니다. 파일 핸들에서 서버가 부족합니까?

+0

이것은 다음을 사용하여 확인할 수 있습니다. ulimit -n – Jeremy

+0

빠른 답장을 보내 주셔서 감사합니다. ulimit -n이 키 한계라면, 나는 그것이 그 자체로 생각하지 않는다. 우리는 그것을 확실하게하기 위해 길을 올렸고 우리는 여전히 시스템 잠금을 얻습니다. – Yash