몇 일 관리에서 시스템 이상한 문제가 발생, 오늘 좋은 설치 하 기회를가지고 그것은 가장 원래 환경 때문에이 문제를 재현 하려면 MySQL 환경 그래서 수 없습니다 완전히 재현, 나만 키 문제를 재현 하려고 할 수 있습니다. 난이 질문은 조금 특별 한, 그래서 난 그 당시 상황에 대해 생각 하 고 싶습니다.
직장에서 수행 하는 & ndash; MySQL 명령에는 다음 오류가 발생 했습니다.
Sourceprint 볼? 1 [Root@dbmain ~] # 수 mysql
2 수: 사용자 Id: 리소스 일시적으로 사용할 수 없게 설정할 수 없습니다
이것은 문제에 의해 발생 하는 자원의 부족에 셸 다음 무의식적으로 실행 Ulimit 먼저, ulimit의 기본적인 한계에.
보기 sourceprint? 01 [Root@dbmain ~] # ulimit-a
코어 파일 크기 (블록,-c) 0
데이터 seg (Kbytes, D) 크기 무제한
우선 예약 (-e) 0
파일 크기 (블록,-f) 무제한
(I) 25600 보류 중인 신호
최대 잠금 메모리 (Kbytes-L) 32
최대 메모리 크기 (Kbytes, M) 무제한
-파일을 열 (-N) 1024
파이프 크기 (바이트-p) 8
(바이트, q) 한 POSIX 메시지 큐 819200
실시간 우선 순위 (-R) 0
스택 크기 (Kbytes,-s) 10240
CPU 시간 (초,-t) 무제한
최대 사용자 처리 (-u) 25600
가상 메모리 (Kbytes, V) 무제한
잠금 파일 (-X) 무제한
Again,/etc/security/limits.conf를 찾습니다.
보기 sourceprint? 01 Oracle 소프트 Nproc 2047
오라클 하드 Nproc 16384
오라클 부드러운 Nofile 1024
오라클 하드 Nofile 65536
오라클 부드러운 Memlock 12582912
오라클 하드 Memlock 12582912
07
그리드 소프트 Nproc 2047
그리드 하드 Nproc 16384
그리드 부드러운 Nofile 1024
한 그리드 하드 Nofile 65536
그리드 부드러운 Memlock 12582912
그리드 하드 Memlock 12582912
14
MySQL 소프트 Nproc 500
MySQL 하드 Nproc 500
MySQL 부드러운 nofile 1024
MySQL 하드 nofile 65536
MySQL 소프트 memlock 12582912
MySQL 하드 Memlock 12582912
분석 후, 의심만 프로세스/파일 리소스 긴장의 확률은 상대적으로 큰입니다. 해당 사용자에 대 한 시스템에서 프로세스의 수를 그래서 첫 ps-ef 봐.
Sourceprint 볼? 1 [Root@dbmain ~] # ps-ef | grep MySQL
2 루트 4733 1 0 10시 30분? 00:00:00/bin/sh/usr/bin/mysqld_safe--datadir=/var/lib/mysql--pid-file=/var/lib/mysql/dbmain.pid
3 MySQL 4788 4733 0 10시 30분? 00:00:04/usr/sbin/mysqld--basedir=/--datadir=/var/lib/mysql--user=mysql--log-error=/var/lib/mysql/dbmain.err Pid-file=/var/lib/mysql/dbmain.pid
4 루트 15171 17507 0 13시 26분 점/2 00시: 00 mysql-uroot-p
5 루트 20792 17163 0 15시 30분 점/1 00시: 00 grep mysql
이 출력에서 우리가 일시적으로 초과 표준 nproc의 가능성을 제외 합니다.
따라서,이 프로세스의 PID의 proc 디렉토리 현재 열려 파일의 수를 볼 수를 입력 합니다.
파일 연결 소켓의 다 수 발견 됐다. 그러나, 수는 MySQL 스레드 또한 리눅스 시스템의 Nproc 카디널리티를 소비 것 이다, 그래서 the/etc/security/limits.conf 파일 Nproc 매개 변수 값을 조정 하려고 의심 되는 파일 수의 한도까지.
조정, 발견 후 Su-mysql 한 이며, 다음 매개 변수 다시 Su-mysql을 다시 변경, 그리고 문제가 다시 다시 발생. 이 확인에서 MySQL 매개 변수 max_connections의 설정에서 MySQL 시스템의 사용도 고려해 야 할 필요가 the/etc/security/limits.conf 파일의 크기 설정, MySQL은 스레드 모드 실행 스레드 수 있는 애매 한 문제의 유산 원인 Nproc에도 집계 됩니다.