linux의 taskset 명령어를 통해 프로세스가 사용할 CPU를 보여주거나 설정할 수 있습니다.
기본 사용법 $> taskset -p 6525 pid 6525's current affinity mask: ff $> taskset -pc 6525 pid 6525's current affinity list: 0-7 응용 동일한 코어에서 두 스레드 간에 메세지를 보내는데 걸리는 시간 측정 (이 결과로 컨텍스트 스위칭시 성능을 알 수 있습니다.) $> taskset -c 0 perf bench sched pipe -T # Running 'sched/pipe' benchmark: # Executed 1000000 pipe operations between two threads Total time: 3.
{% include figure image_path="/assets/images/tmux-plugins.png" caption=“tmux plugins.” class=“third” %}
tmux에서 사용할 수 있는 플러그인은 별도 설치를 통해 동작하는 플러그인들과 TPM(Tmux Plugin Manager)를 통해 관리되는 플러그인 시스템이 있습니다.
이 중에 유용한 플러그인들을 기록합니다.
TPM에서 관리되는 플러그인들 TPM 기반 플러그인을 사용하기 전에 TPM 플러그인 매니저가 설치되어 있어야 합니다. TPM(Tmux Plugin Manager) 링크를 통해서 설치 할 수 있습니다.
참고링크를 통해 설치를 완료하자.
tmux-yank tmux 시스템 클립보드로 복사 해주는 플러그인 입니다. tmux-sensible tmux에서 유요하다고 생각하는 설정들을 자동으로 설정해주는 플러그인 입니다.
linux의 du 명령어를 통해 디렉토리 별로 디스크 사용량을 확인 할 수 있습니다.
기본 사용법 $> du /usr/bin 557780 /usr/bin 출력되는 값은 --block-size 또는 DU_BLCOK_SIZE, BLOCK_SIZE, BLOCKSIZE 환경 변수에서 사용 가능한 첫 번째 SIZE 단위 입니다. 그렇지 않으면 단위는 기본적으로 1024 바이트 (또는 POSIXLY_CORRECT가 설정된 경우 512) 입니다.
TLDR $> tldr du du Disk usage: estimate and summarize file and directory space usage. - List the sizes of a directory and any subdirectories, in the given unit (B/KB/MB): du -b|k|m path/to/directory - List the sizes of a directory and any subdirectories, in human-readable form (i.
linux의 df 명령어를 통해 현재 디스크의 전체 사용량을 확인 할 수 있습니다.
기본 사용법 $> df Filesystem 1K-blocks Used Available Use% Mounted on udev 8123612 0 8123612 0% /dev tmpfs 1630992 17960 1613032 2% /run /dev/mapper/mint--vg-root 229063924 159664024 57741048 74% / tmpfs 8154948 554936 7600012 7% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 8154948 0 8154948 0% /sys/fs/cgroup /dev/sda1 482922 279826 178162 62% /boot cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 1630992 520 1630472 1% /run/user/1000 출력된 정보는 다음과 같습니다.
linux의 netstat 명령어를 통해 현재 연결된 네트워크 상태, 라우팅 테이블, 인터페이스 상태, IP Masquerade, 멀티캐스트 멤버쉽 등을 확인 할 수 있습니다.
기본 사용법 $> netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.0.50:38608 nrt20s21-in-f10.1:https ESTABLISHED ... Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ] DGRAM 34946 /run/user/1000/systemd/notify unix 3 [ ] DGRAM 19785 /run/systemd/notify unix 3 [ ] SEQPACKET CONNECTED 238454 @0002d .
linux의 iostat 명령어를 통해 평균 CPU 부하 및 디스크 I/O 정보를 확인 할 수 있습니다.
기본 사용법 $> iostat Linux 4.15.0-112-generic (geeksaga) 08/14/2020 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 6.92 0.00 2.11 0.03 0.00 90.94 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 6.00 21.54 202.41 15318970 143972371 dm-0 9.19 21.52 229.52 15308169 163262564 dm-1 0.01 0.00 0.04 2456 30392 출력된 정보는 다음과 같습니다.
Device : 디바이스 목록 tps : 초당 전송 요청 건수 KB_read/s : 디바이스에서 초당 읽은 데이터 블락 수 KB_wrtn/s : 디바이스에 초당 쓴 데이터 블락 수 KB_read : 디바이스에서 읽은 총 블락 수 KB_wrtn : 디바이스에 쓴 총 블락 수 옵션 사용법 -x : 확장 통계를 보여줍니다.
linux의 vmstat 명령어를 통해 프로세스, 메모리, 페이징, I/O, CPU 관련 정보를 확인 할 수 있습니다.
기본 사용법 $> vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 31232 935260 2147660 4477324 0 0 3 13 4 3 7 2 91 0 0 출력된 정보는 다음과 같습니다.
procs r : 실행중이거나 대기중인 기다리고 있는 프로세스의 수 b : 인터럽트가 불가능한 상태로 sleep 상태에 있는 프로세스의 수 memory swpd : 가상메모리로 사용되는 크기 free : 남아있는 메모리 크기 buff : 버퍼에 사용되고 있는 메모리 크기 cache : 캐시에 사용되고 있는 메로리 크기 swap si : swap in 된 크기(초당 디스크에서 읽어 메모리 호출된 크기) so : swap out 된 크기(*초당 메모리에서 디스크로 보내지는 크기) io bi : 블락 디바이스에서 받은 블락 수 bo : 블락 디바이스로 보낸 블락 수 system in : 초당 발생하는 인터럽트 수 cs : 초당 발생하는 컨텍스트 스위치 수 cpu us : nice 시간을 포함하는 사용자 시간 비율 sy : 시스템이 사용한 시간 비율 id : 대기시간 비율(IO-wait 시간 포함) wa : 입출력 대기시간 비율(idle 시간 포함) st : VM 사용시 가상머신이 실제 CPU 를 기다리는 시간 비율 디바이스 종류는 블락 디바이스(Block Device)와 캐릭터 디바이스(Character Device)가 있습니다.