서버를 사용하다보면 SSH로 접속하기 마련입니다.

 

하지만 어떤 서버프로그램은 데몬형태가 아니라 그냥 프로세스 형태로 돌아가게 설계된 경우가 많습니다. 이럴 때는 SSH로 실행했을 시 nohup을 쓰지 않는 이상 SSH접속 = 서버종료 라는 상태가 됩니다.

 

하지만 nohup을 쓰게되면 문제가 이후에 SSH접속을 하면 서버메시지를 볼 수 없다는 겁니다. 물론 X를 쓰는 서버라면 그냥 터미널 창 하나를 더 띄우면 되지만 X를 쓰는 서버자체가 적지요.

 

그러면 어떻게 해야하느냐...

 

Screen이라는 것을 쓰면 됩니다.

 

우선 screen을 설치해봅시다

 

sudo apt install screen

 

그리고 세션을 하나 만듭니다.

 

screen -S [세션이름]

 

이제 한번 다음 명령을 써봅시다.

 

screen -r

그러면 아까 지정햇던 세션이름이 숫자.[세션이름] 형태로 뜨는 것을 알 수 있습니다. 이렇게 세션을 여러개 만들 수 있습니다.

 

이상태로 SSH를 종료해도 해당 세션을 살아있습니다. 즉, screen세션을 닫지 않는 이상 SSH접속 여부와 관계가 없어진다는 의미입니다.

그러면 저 세션에서 해당 서버 프로세스를 실행시키고 그냥 SSH접속을 종료하면 나중에 다시 SSH접속 후에 해당 세션에만 들어가도 서버메시지를 볼 수 있다는 의미가 됩니다.

 

해당 세션에 접속하는 방법은

 

screen -x [세션이름]

 

이렇게 하면 됩니다. 이제 이후에 해당 세션에 접근 하는것 만으로도 서버메시지를 볼 수 있게 됩니다.

JAVA 개발킷인 JDK는 기본적으로 두가지입니다.

1.OpenJDK

2.OracleJDK


이것 말고도 요즘뜨고잇는 zulu 등이있지만 사실상 java의 표준은 저 둘입니다. 그리고 저 둘은 Sun시절부터 써오던 HotspotVM을 포함하고 있습니다.



둘의 차이점은 오픈소스만으로 구성됐느냐, 독점코드가 포함됐느냐의 차이인데 OpenJDK를 가지고 OracleJDK가 나온다고 보심 되겠습니다. Chromium과 Chrome과의 관계와 비슷합니다.


그리고 미묘하게 OpenJDK쪽보다 OracleJDK쪽이 빠릅니다. 사실 큰 차이는 없어야 정상이지만 독점코드 일부가 최적화 된 탓인지 Oracle의 것을 설치해야 속도가 빠르더군요.


그래서 일부러 Oracle JDK를 구해다 설치하는 경우가 잦았는데 Oracle이 4월부터 자신의 제품에대해 새로운 라이센스를 들고 와 버렸습니다. 개인에게는 2020년까진 무료 기업에서는 구독라이센스를 요구한겁니다. 그래서 기존에 그냥 다운로드가 가능했던것이 이제는 회원가입을 요구합니다. (역시 오라클)


그 전에는 Oracle Java를 설치할때 webupd8팀의 PPA를 애용했는데(https://launchpad.net/~webupd8team/+archive/ubuntu/java)

이제는 스크립트가 안먹히는 관계로 수동설치를 필요로합니다.


https://askubuntu.com/questions/56104/how-can-i-install-sun-oracles-proprietary-java-jdk-6-7-8-or-jre


이제는 tar.gz를 다운받고 압축을 푼뒤

권한을 일일이 조정힌고 permission을 넣어야합니다. 그리고

 update-alternatives


위명령으써서 java를 먹히게 해야합니다. 귀찮습니다. 



하지만 설치만 하면 그 뒤는...

암튼 oracle이 만악의 근원인듯...

MTU는 일종의 서로 통신을 하기 위한 패킷단위입니다.

여러분들이 큰 파일을 다운로드 받아도 사실 이 패킷단위로 잘게 쪼개서 전송받고 다시 이를 재조합하는 방식인 것입니다. 다시 말하면 잘게 쪼개면 쪼갤수록 재조합하는 시간이 길어지겠죠?

 

그래서 최대한 큰 패킷단위를 쓰는것이 PC부하가 적어지게 됩니다. 대신 회선과 네트워크 장비에 부하는 커지겠지요.

 

대다수 네트워크 장비의 기본 값은 1500바이트입니다. 그리고 이는 산업표준이고 호환성 최고의 단위입니다. 무조건 1500바이트 단위로 쪼개놓으면 이 세상에 깔린 거의 모든 네트워크 장비는 받아들일 수 있다는 의미입니다. 하지만 시대가 변하고 회선의상태가 좋아지면서 1500바이트로 잘게 쪼갤 이유가 거의 없어지게 되었고 새로운 표준인 점보 프레임이라는 것이 나오게 되었습니다. 이 표준은 9000바이트로 기존 표준에서 6배 이상 커진 것입니다.

 

그만큼 CPU부하가 줄어들게 되는 것입니다. 물론 비표준으로 15000도 있고 23000도 있지만 그건 그정도의 프레임을 지원하는 장비를 썼을 때 이야기이므로 9000이 현재 제일 큰 패킷 단위라고 봐야 합니다.

 

현존하는 기가비트 랜 장비는 9000은 무조건 지원한다고 봐야하고 100Mbps급 장비라고 해도 9000은 지원 할 가능성이 매우 높습니다. 하지만 여전히 기본값은 1500입니다.

 

따라서 9000으로 올려주면 그만큼 여러분의 PC부하는 눈꼽만큼이나마 줄어들게 됩니다. 이를 우분투 기반 민트리눅스에서 해보겠습니다. (윈도우는 조금 더 복잡한 방법을 씁니다.)

 

우선 제어판의 네트워크 연결로 들어갑니다. 저는 민트를 쓰지만 우분투도 제어판 형태는 비슷합니다.

아니면 그냥 네트워크 애플릿에 오른쪽 버튼을 누르고 연결편집을 눌러도 됩니다.

 

사용하는 네트워크 연결이 많으면 여기서 지금 사용하는 연결을 찾아야 한다. 아니면 지금 떠있는 것을 모두 싹다 적용하자.

여기서 여러분이 사용하는 연결을 선택하고 아래의 톱니바퀴를 누릅니다.

 

 

여기서 보면 MTU라는 것이 바로 보입니다. 물론 기본값이라고 되어 있을텐데 이걸 9000이라고 바꾸고 저장합니다. 그러면 MTU값 적용이 끝납니다. 참 쉽죠?

 

만약 오류가 난다면 그건 장비가 9000바이트를 못 받는 것입니다. 조용히 값을 내리면서 지원이 되도록 해봅시다.

 

값이 크면 클 수록 부하는 줄어들지만 그만큼 회선에 부하가 커진다는 것을 알아두시길 바랍니다.