기본 콘텐츠로 건너뛰기

리눅스 시스템 성능 튜닝: 최적화 방법과 도구

리눅스에서 시스템 성능 튜닝하기 안녕하세요, mj입니다. 오늘은 리눅스 시스템의 성능을 최적화하기 위한 다양한 방법과 도구에 대해 알아보겠습니다. 리눅스는 다양한 환경에서 사용되며, 성능이 중요한 많은 작업을 수행합니다. 시스템 성능을 최적화하면 더 빠르고 효율적으로 작업을 수행할 수 있습니다. 1. CPU 성능 최적화 CPU는 시스템의 핵심입니다. 다음과 같은 방법으로 CPU 성능을 향상시킬 수 있습니다. nice : 프로세스의 우선 순위를 조정합니다. 예를 들어, nice -n 10 ./myprocess 로 우선 순위를 낮출 수 있습니다. cpulimit : 특정 프로세스의 CPU 사용량을 제한합니다. cpulimit -l 50 -p 1234 로 PID가 1234인 프로세스의 CPU 사용량을 50%로 제한할 수 있습니다. htop : 시스템 자원 사용 현황을 실시간으로 모니터링할 수 있는 도구입니다. sysctl : 커널 파라미터를 조정하여 성능을 개선할 수 있습니다. 예를 들어, sysctl -w vm.swappiness=10 으로 스왑 사용을 줄일 수 있습니다. CPU 주파수 조정 : cpupower frequency-set -g performance 명령어로 CPU 성능 모드를 조정합니다. 2. 메모리 성능 최적화 메모리 관리도 시스템 성능에 큰 영향을 미칩니다. 다음의 방법으로 메모리 성능을 최적화할 수 있습니다. free : 메모리 사용량을 확인합니다. free -h 로 쉽게 확인할 수 있습니다. vmstat : 메모리 및 프로세스 현황을 모니터링합니다. vmstat 1 로 1초 간격으로 업데이트됩니다. swapoff : 필요하지 않은 스왑 공간을 비활성화합니다. swapoff -a 로 모든 스왑을 비활성화할 수 있습니다. tmpfs 사용 : 임시 파일 시스템을 사용하여 빠른 접근을 가능하게 합니다. mount -t tmpfs tmpfs /mnt/tmp 로 마운트합니다. 케시 조정 : echo 3 > ...

5. uname

안녕하세요, MJ 입니다.

uname 명령어에 대한 내용을 작성 합니다.


uname 명령어는 시스템의 정보 중 일부를 출력하는 명령어 입니다.

주 목적은 커널버전을 확인하는데에 사용되지만 그 외에 다른 정보도 함께 확인 할 수 있습니다.

 

우선 도움말을 확인 해 보겠습니다.


 

[root@run-linux ~]# uname --help

Usage: uname [OPTION]...
Print certain system information.  With no OPTION, same as -s.

  -a, --all                print all information, in the following order,
                             except omit -p and -i if unknown:
  -s, --kernel-name        print the kernel name
  -n, --nodename           print the network node hostname
  -r, --kernel-release     print the kernel release
  -v, --kernel-version     print the kernel version
  -m, --machine            print the machine hardware name
  -p, --processor          print the processor type (non-portable)
  -i, --hardware-platform  print the hardware platform (non-portable)
  -o, --operating-system   print the operating system
      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/uname>
or available locally via: info '(coreutils) uname invocation'
 
 
-a 옵션이 모든 정보를 확인하는 내용이라고 나와있고
그 외 옵션들은 정보를 지정해서 확인하는것을 알 수 있습니다. 
 

uname -a 명령어 출력 결과를 확인 해 보겠습니다.

[uname -a]

- 모든 정보를 확인하는 옵션 -a 를 사용 하여 수행한 결과 입니다.

 

 옵션별로 하나씩 수행 한 내용입니다.

 

[ -s -n -r -v -m -p -i -o 도움말에 기록 된 옵션 설명 순서대로]

[옵션을 한줄로 입력하니 -a 옵션과 동일한 결과]

[각 옵션별 설명]

-s ==> kernel name 커널이름 출력
    : 이렇게 도움말에서 확인되는데, Linux 를 출력 해 줍니다.
-n ==> network node hostname 네트워크 노드로 호스트명 출력
    : 리눅스에서의 호스트명은 사실 네트워크를 통한 접근을 위한 이름입니다.
      그래서 네트워크 설정에 호스트네임 설정이 포함 되는것이고, 호스트명은
      호스트명.도메인명 으로 설정 합니다.
-r ==> kernel release 커널의 릴리즈 버전 출력
    : 커널 릴리즈 이름은 커널 버전을 의미합니다.
-v ==> kernel version 커널의 버전 출력
    : 여기에 표시 된 내용은 커널의 빌드시간과, 몇번째 빌드인지가 표시됩니다.
-m ==> machine hardware name 장비 이름 출력
    : 여기에서의 하드웨어 이름은 x86_64 로 장비가 x86_64 아키텍쳐 장비라는 의미입니다.
-p ==> processor type (non-portable) CPU 타입 출력
    : CPU 타입인데 CPU 타입 역시 x86_64 아키텍쳐를 사용하므로 x86_64 로 표기 됩니다.
-i ==> hardware platform (non-portable) 하드웨어 플랫폼 출력
    : 플랫폼도 x86_64 아키텍쳐여서 동일하게 출력되고있습니다.
-o ==> operating system 운영체제 출력
    : OS 는 GNU/Linux 로 리눅스 를 의미합니다.

시스템 정보를 확인한다고는 하지만, 확인할만한 내용이 커널 릴리즈 에서 확인되는 커널의 버전과, 호스트네임 정도가 되어보입니다.


uname 명령어는 현업에서 주로 커널버전을 확인(자주)하거나, 부팅 된 커널의 빌드 날짜를 확인(가끔)하는데에 사용되고, 다른 용도로는 사용 할 일이 저는 없었습니다.

 

※ 커널의 버전은 OS의 버전이 아닙니다.

 


문의사항은 댓글을 달아 주시면 성심껏 답변 드리겠습니다.

감사합니다.

댓글

가장 많이 본 글

5. 버추얼박스:설정 (+네트워크의 종류 설명)

안녕하세요 , MJ 입니다 .   우리가 실습을 하는데에 필요한 버추얼박스의 설정에 대해 설명을 합니다 .     버추얼 박스의 설정에는 종류별로 메뉴가 구분되어있습니다 . 1-1. 환경설정 1-2. 네트워크 설정 1-3. 미디어 설정       다른 설정도 존재하지만 , 필요한 일이 없을것이 예상되고 , 위 3 가지 설정에 대해서만 알고 계신다면 버추얼 박스로 실습을 하는데에 아무런 지장이 없고 또 취업을 하신 뒤에 실무에 가셔서도 문제가 될 것이 없습니다 .   환경설정 부터 확인하겠습니다 . 1-1. 환경설정 : 우리가 알아야 편한 내용은 2 가지가 있는데 VM 의 기본 저장경로 설정 " 파일 (F)" 의 환경설정 (P) … [ 단축키 : Ctrl+G] 을 누르면 환경설정 창이 보이고 , 제일먼저 확인되는 기본 머신 폴더 (M) 입니다 . VM 을 저장 할 경로를 지정하는 것인데 VM 은 가상 머신으로 디스크의 용량과는 상관없이 , 가상 컴퓨터의 정보가 저장되는 것으로 , 텍스트 파일형태로 저장되어있고 , 그 내용에는 CPU 를 몇개 사용하도록 되어있는지 , 메모리는 얼마만큼을 할당하도록 되어있는지 , 네트워크 인터페이스는 몇 개가 어떻게 설정되어있는지 ... 등 가상의 컴퓨터를 정의하는 내용의 파일이 저장되는 경로가 되고 ,   디스크 파일은 별도 미디어 설정에서 관리가 되지만 VM 을 생성하는 과정에서 만든 디스크는 VM 저장경로에 함께 생성 되어있어 사용자가 파일탐색기로 경로를 찾아가보면 파일의 사이즈로 아 이것이 디스크 파일인가보구나 하고 알 수 있습니다 .( 용량이 크고 ...

MJ. 로또의 회차별 당첨번호 API 확인 (예제포함)

안녕하세요, MJ 입니다.   로또 당첨번호를 확인하기위해 동행복권 사이트를 찾아 가거나, 포털사이트에서 검색을 할 수 있지만, 다음 주소를 브라우저에 붙여넣거나, curl 명령을 이용하여 터미널에서 손쉽게 확인할 수 있는 방법이 있어 소개를 드리려고 합니다.     < URL> https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= < 회차번호 >     - API 주소 활용 방법 브라우저에 URL 입력하여 확인 .           >> 인터넷 주소창에 URL 을 입력       ( 윈도우 ) cmd / ( 리눅스 ) bash 터미널에서 curl 을 사용하여 확인 .( 예 : 123 회차 ) >> curl " https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= 123 " <cmd>   <bash>         python/java/c 등 코드를 만들어서 확인 . >> 코드를 짜서 확인하는 것이 , 데이터를 가공하기도 좋고 , 앞으로 출현할 숫자를 분석하기도 좋지만 , 자신이 원하는 대로 데이터를 가공하기 위해 시간과 노력의 투자가 필요함 .       [ (API 결과 예시 ) 123 회차 조회결과 ] >> json 형식으로 공백 , 줄바꿈이 없이 순서도 제멋대로 확인되지만 (브라우저나 터미널에서 확인하면), 다음과 같은 데이터가 확인됨 .   <확인한 정보 줄맞춰봄> #######...