기초공부 - (2) process & thread

2024. 1. 26. 22:54MySQL/Class

반응형

1. 구동 방식(MySQL, Oracle)

Oracle은 프로세스 기반의 방식입니다.

리눅스에서 ps -ef 로 프로세스를 확인해보면 smon,pmon 같은 오라클과 연관된 프로세스 등을 볼 수 있을 것입니다.

반면 mysql은 thread 방식입니다. 프로세스를 확인해보면 mysqld 만 보입니다. 이것은 모든 작업은 mysqld 프로세스 안에서 여러 thread가 실행되어 구동을 하고 있다는 것입니다.

 

2. 정의

 - process : 프로그램을 실행 시을 경우 발생되는 데몬

 - thread : Process 안에서 구동 되는 여러 작업들

 

3. thread 정보 확인

 (1) pid 확인

pid 정보 확인

 

 (2) thread 실행 총 개수 확인

# /proc/${PID}/status
[root@mha01 mysql]# cat /proc/100329/status | grep Thread
Threads:        39

 

(3) 개별 thread ID 확인

[root@mha01 mysql]# ps -eL -o uid,pid,cmd,lwp,nlwp | grep mysql

thread id 출력 화면

 

위 내용을 해석하자면, pid 프로세스에는 유니크한 lwp(thread-id)를 가지고 있으며, 총 lwp 개수는 nlwp(thread개수 합계) 입니다.

mysql 프로세스 id : 100329

mysql 프로세스 안에서 실행되는 쓰레드 id : lwp

mysql 프로세스 안에서 실행되는 총 쓰레드 값 : nlwp

반응형