메모리 정보 확인
1. Command: dmidecode -t memory
$ dmidecode -t memory
각 메모리 슬롯에 있는 메모리의 정보 및 제조사까지 확인 가능하다.
- 5개의 CPU 소켓이 있는 서버이기 때문에 Physical Memory Array는 총 5개가 있다.
- 각각의 Physical Memory Array는 총 24개의 메모리를 꽂을 수 있으며 최대로 꽂을 수 있는 용량은 7680GB 이다.
- 각 Physical Memory Arry의 Memory Device에는 32 GB의 메모리가 꽂혀 있다.
- 총 몇 개의 메모리가 꽂혀 있는지, 각각의 용량을 얼마인지 확인할 수 있다.
- 1개의 CPU 소켓이 있는 서버이기 때문에 Physical Memory Array는 총 1개가 있다.
- 각각의 Physical Memory Array는 총 1개의 메모리를 꽂을 수 있으며 최대로 꽂을 수 있는 용량은 4GB 이다.
- Physical Memory Arry의 Memory Device에는 4096 MB의 메모리가 꽂혀 있다.
- size : No Moule Installed 는 메모리가 꽂혀 있지 않는 것을 뜻한다.
Memory 키워드는 크게 Physical Memory Array 와 Memory Device 의 두 영역으로 나눌 수 있다.
Physical Memory Array 는 하나의 CPU 소켓에 함께 할당된 물리 메모리의 그룹을 의미한다.
최근의 프로세서는 NUMA 라는 개념을 이용해서 각각의 CPU가 사용할 수 있는 로컬 메모리를 제공한다.
Memory Device 는 실제로 시스템에 꽂혀 있는 메모리를 의미한다.
메모리의 용량이 얼마인지 그리고 제조사는 어디인지 확인해볼 수 있다.
2. Command: dmidecode -t memory | grep -i size:
$ dmidecode -t memory | grep -i size:
memory 키워드와 grep 명령어의 조합으로 Size: 들을 보기 편하게 확인할 수 있다.
32GB 의 메모리가 4개 꽂여 있는 것을 확인할 수 있다. 이를 통해 전체 메모리의 용량이 128 GB라는 결론이 나온다.
4096 MB 의 메모리가 1개 꽂혀있는 것을 확인할 수 있다. 이를 통해 전체 메모리의 용량이 4096 MB라는 결론이 나온다.
위의 크기가 free 명령을 통해 확인한 전체 메모리 크기와 다르다면 시스템의 메모리 인식에 문제가 있는 것이다.
디스크 정보 확인
1. Command: df -h
$ df -h
현재 시스템을 구성하고 있는 파티션과 디스크의 타입 정보 정도는 간략하게 알 수 있다.
위 서버는 8개의 파티션이 있으며 각각의 파티션은 / , /dev , /dev/shm , /run , /sys/fscgroup , /boot , /home , /boot/efi 에 마운트되어 있다. 또한 디스크는 /dev/sda 라는 이름으로 시스템에 네이밍되어 있다.
위 서버는 6개의 파티션이 있으며 각각의 파티션은 / , /dev , /dev/shm , /run , /sys/fscgroup , /run/user/1000 에 마운트되어 있다. 또한 디스크는 /dev/nvme0n1p1 라는 이름으로 시스템에 네이밍되어 있다.
디스크의 방식에 따라서 /dev/hda, /dev/sda, /dev/vda 등 일 수도 있다.
※ sda와 hda 의 차이점
시스템이 디스크와 통신하기 위해 사용하는 것 중에 컨트롤러라는 부품이 있다. 디스크를 사용하려는 쪽과 실제 디스크 사이에서 통신이 원활히 이루어질 수 있도록 일종의 중개자 역할을 하는 부품인데, 가장 대표적인 것이 IDE 타입과 SCSI 타입이다. 쉽게 말해서 IDE는 개인용 컴퓨터를 위한 방식이며, SCSI는 서버용 컴퓨터를 위한 방식이라고 생각하면 된다. SCSI 방식은 더 많은 장치를 연결할 수 있어서 확장성이 좋고 더 빠른 접근 속도를 제공하기 때문이다. IDE 방식의 디스크는 hda로, SATA, SAS 와 같은 일반적인 하드 디스크는 sda로 표시된다. vda는 가상 서버에서 흔히 볼 수 있는 디스크 타입이다.
2. Command: smartctl -a /dev/sda
smartctl 이라는 툴을 이용하면 더 상세한 정보를 확인할 수 있다.
※ 설치 : $ sudo yum install -y smartmontools
네트워크 정보 확인
1. Command: lspci | grep -i ether
$ lspci | grep -i ether
- 하드웨어적인 이슈를 확인할 때 유용하게 사용.
- 간혹 특정 모델에서 버그나 이슈 등이 보고될 때 자신의 서버가 해당되는 지 파악해야 하며, 커널 드라이버를 업데이트할 때에도 해당하는 펌웨어 드라이버를 정확하기 찾기 위해서 사용.
2. ethtool
(1) Command: ethtool eth0
$ sudo ethtool eth0
연결 상태를 확인한다.
- (1), (2) : 해당 네트워크 카드가 어느 정도의 속도까지 지원이 가능한가
- (3) : 현재 열결되어 있는 속도는 얼마인가
- (4) : 네트워크 연결은 정상적인가
- (3)의 경우 서버가 의도했던 것만큼 속도가 나오지 않을 때 가장 먼저 살펴보아야 할 항목.
위의 예시에서 네트워크 카드는 최대 1Gbps(1000Mbps)의 속도를 낼 수 있는 카드이며 실제 연결 속도는 1000Mb/s 이다. 이를 통해 서버의 네트워크 상태가 정상임을 확인할 수 있다.
(2) Command: ethtool -g eth0
$ ethtool -g eth0
$ ethtool -g eno0
-g 옵션을 이용하면 Ring Buffer의 크기를 확인할 수 있다.
Ring Buffer는 네트워크 카드의 버퍼 공간을 의미한다. 케이블을 통해서 들어온 패킷 정보는 제일 먼저 네트워크 카드의 Ring Buffer라는 버퍼 공간에 복사된다. 그 후 커널에 패킷의 도착을 알리고 패킷의 정보를 다시 커널로 복사한다.
그렇기 때문에 Ring Buffer의 크기가 작다면 네트워크 성능 저하를 일으킬 수 있다. 항상 maximums 값과 current 값이 같도록 세팅해야 한다.
(3) Command: ethtool -G eth0
$ ethtool -G eth0 rx 2048
$ ethtool -G eno0 rx 2048
-G 옵션은 위에서 확인한 Ring Buffer의 값을 설정할 때 사용되는 옵션이다.
-g를 통해서 확인한 결과 current 값이 maximums 값보다 작다면 -G 옵션을 통해서 값을 설정할 수 있다.
(4) Command: ethtool -k eth0
$ sudo ethtool -k eth0
-k 옵션은 현재 사용 중인 네트워크 카드의 다양한 성능 최적화 옵션을 확인할 수 있다.
-K 옵션은 -k 옵션으로 확인한 네트워크 카드의 성능 최적화 옵션을 설정할 때 사용한다.
네트워크 카드는 단순히 패킷을 주고 받는 기능 이외에도 더 빠르게 패킷을 주고 받을 수 있게 해주는 다양한 기능을 제공한다. 여기에서 가장 중요한 기능 중 하나는 tcp-offload 기능이다.
- generic-receive-offload : tcp-offload 기능. MTU 이상의 크기를 가지는 패킷의 분할 작업을 CPU가 아닌 네트워크 카드가 직접함으로써 CPU의 부담을 줄이고 패킷 처리 성능을 높이는 기능이다. ( 불특정한 패킷 유실이 자주 일어나는 것 같다면 off 하는 편이 좋다. )
(5) Command: ethtool -i eth0
$ ethtool -i eth0
-i 옵션을 통해 사용 중인 네트워크 카드가 어떤 커널 드라이버를 사용하는 지, 버전이 몇인 지를 알 수 있다. 이는 특정 커널 드라이버의 버전에서 문제가 생겼을 경우 내가 사용하는 버전이 여기에 해당하는 지 아닌 지를 판단할 때 필요하다.
Source - [강진우] "DevOps와 SE를 위한 리눅스커널이야기"
'OS > Linux Server' 카테고리의 다른 글
[Shell Programming] 1. Linux shell? (0) | 2022.02.10 |
---|---|
Mac(os)에서 Cloud Instance에 파일 전송 (0) | 2022.02.10 |
[Linux] 1. 시스템 구성 정보 확인 (1) (0) | 2021.12.15 |
[Linux] Run Level (0) | 2021.12.13 |
[Linux] 디스크 용량 확인 (0) | 2021.12.13 |