Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

매일매일

Ubuntu Server 프로세스 정리하기 본문

공부/Linux

Ubuntu Server 프로세스 정리하기

G.K. 2023. 5. 31. 15:44

한 대의 기기로 여러 마인크래프트 서버를 운영해보고 있다. 

곧 여름인데 죽겠네

자바 특성 상, 싱글 스레드만 사용하므로, 멀티 스레드 CPU의 경우 각 스레드당 각각의 프로세스를 연동시키면 어떨까 라는 생각에서 시작하였다.

 

출처 : https://www.cyberciti.biz/tips/setting-processor-affinity-certain-task-or-process.html

 

Ubuntu Server 22.04.2 LTS를 사용하므로, 

apt-get install schedutils

를 입력하여 설치해줘야 하지만... 여기서 문제가 생겼다.

 

E: unable to locate package schedutils

가 떠버린것. Repository가 없는 듯 하여, root 권한으로 /etc/apt/의 sources.list를 수정해보기로 했다.

su root

root 권한 진입.

cd /etc/apt/

/etc/apt/ 로 이동.

vi sources.list

source.list 를 vim 편집기로 수정.

 

https://packages.ubuntu.com/search?keywords=python3-schedutils 

 

Ubuntu – Package Search Results -- python3-schedutils

 

packages.ubuntu.com

위 링크에서 맞는 빌드를 선택한 뒤, (본 경우에선 jammy) 맞는 아키텍쳐를 선택하면, (본 경우에선 amd64)

 

빌드 혹은 코드네임은 다음 명령어로 확인할 수 있다.

lsb_release -sc

 

https://packages.ubuntu.com/jammy/amd64/python3-schedutils/download

 

Ubuntu – Package Download Selection -- python3-schedutils_0.6-2.1build2_amd64.deb

Download Page for python3-schedutils_0.6-2.1build2_amd64.deb on AMD64 machines If you are running Ubuntu, it is strongly suggested to use a package manager like aptitude or synaptic to download and install packages, instead of doing so manually via this we

packages.ubuntu.com

 

위 링크가 나오게 된다.

 

vim 편집기에서 a키를 눌러 편집모드에 들어가, Asia 지역이므로 적당히 url을 수정하여

deb http://kr.archive.ubuntu.com/ubuntu jammy main universe

를 추가해준다.

 

그 이후, esc를 눌러 편집모드에서 나온 뒤, :wq 를 눌러 저장 및 나가기를 해준다.

 

마인크래프트 서버를 돌리다 보면 필연적으로 Java 프로세스를 사용하게 되는데, Java를 사용하는 프로세스를 확인해보자.

 

ps -ef | grep java

 

사용자명 뒤에 숫자, 이후 뭐라뭐라 나오는데 일단 숫자에 집중하자. 각 숫자는 PID, 프로세스 ID를 의미한다.

 

taskset -c -p 1 PID

 

다음 명령어로 각 스레드에 PID를 할당해주면 된다.