Cloud Platform: AWS
OS: Amazon Linux 2023 AMI 2023.0.20230503.0 x86_64 HVM kernel-6.1
인스턴스 유형: t2.micro
본 실습에서는 AWS에 리눅스 OS를 띄운 VM에 SSH로 접속하여 진행하였다.
리눅스의 커널 버전을 확인할 수 있는 방법 즉, 커맨드는 여러가지 방법이 있다.
[root@ip-10-0-1-13 ~]# uname -a
Linux ip-10-0-1-13.ap-northeast-2.compute.internal 6.1.25-37.47.amzn2023.x86_64
#1 SMP PREEMPT_DYNAMIC Mon Apr 24 23:20:16 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
위 서버의 커널 버전은 6.1.25-37.47.amzn2023.x86_64로 x86 계열의 64비트 운영체제를 사용하고 있음을 확인할 수 있다.[root@ip-10-0-1-13 ~]# cat /proc/version
Linux version 6.1.25-37.47.amzn2023.x86_64 (mockbuild@ip-10-0-36-105) (gcc (GCC) 11.3.1 20221121
(Red Hat 11.3.1-4), GNU ld version 2.39-6.amzn2023.0.5) #1 SMP PREEMPT_DYNAMIC Mon Apr 24 23:20:16 UTC 2023
[root@ip-10-0-1-13 ~]# hostnamectl
...
Kernel: Linux 6.1.25-37.47.amzn2023.x86_64
Architecture: x86-64
Hardware Vendor: Xen
Hardware Model: HVM domU
Firmware Version: 4.11.amazon
Kernel 부분을 보면 리눅스의 커널 버전을 알 수 있다.버전에 이어 커널에 관한 다양한 정보를 더 보기 위해 dmesg 명령어를 사용해본다.
dmesg는 커널의 디버그 메시지를 볼 수 있는 명령어로, 커널이 부팅할 때 나오는 메시지와 운영 중에 발생하는 메시지를 볼 수 있게 해주는 명령어이다.
[root@ip-10-0-1-13 ~]# dmesg | grep -i kernel | more
...
[ 0.040224] Kernel command line: BOOT_IMAGE=(hd0,gpt1)/boot/vmlinuz-6.1.25-37.47.amzn2023.x
86_64 root=UUID=974bfdce-a279-4e16-b3a4-114c0f95708b ro console=tty0 console=ttyS0,115200n8 nv
me_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0 selinux=1 security=selinux quie
t ====> 커널이 부팅시에 사용한 커널 파라미터 표시
...
[ 0.042708] Memory: 199372K/1048180K available (14346K kernel code, 8885K rwdata, 8224K rod
ata, 2208K init, 19424K bss, 102092K reserved, 0K cma-reserved) ====> 부팅 시에 커널이 인식하는 메모리 정보
커널의 컴파일 옵션 확인
[root@ip-10-0-1-13 ~]# cat /boot/config-`uname -r` | more
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 6.1.25-37.47.amzn2023.x86_64 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=110301
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23900
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23900
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=122
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
...
리눅스에서는 dmidecode 명령을 통해 하드웨어의 정보를 확인한다.
본 실습의 AWS Linux OS에서는 dmidecode 명령어가 기본적으로 탑재가 안되어있어 패키지 설치 후 실행하였다.
[root@ip-10-0-1-13 ~]# yum install dmidecode
[root@ip-10-0-1-13 ~]# dmidecode -t bios
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Xen
Version: 4.11.amazon
Release Date: 08/24/2006
Address: 0xE8000
Runtime Size: 96 kB
ROM Size: 64 kB
Characteristics:
PCI is supported
EDD is supported
Targeted content distribution is supported
BIOS Revision: 4.11
bios 키워드의 출력을 통해 특정 bios 버전의 문제를 알아차리고, 내가 사용하는 버전이 특정 버전과 매치하는지를 확인할 때 주로 사용한다.
본 실행환경의 서버는 Xen에서 만든 서버이며 bios의 버전은 2006/08/24에 발표된 4.11.amazon 버전이다.
[root@ip-10-0-1-13 ~]# dmidecode -t system
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Xen
Product Name: HVM domU
Version: 4.11.amazon
Serial Number: ec2d9cd6-3180-6285-9d42-eb4f22e4dd2f
UUID: ec2d9cd6-3180-6285-9d42-eb4f22e4dd2f
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
본 실행환경의 장비는 Xen에서 만든 HVM domU 모델이다.
이러한 모델명을 통해 어느 정도의 성늘을 낼 수 있는지 확인할 수 있다.
[root@ip-10-0-1-13 ~]# dmidecode -t processor
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0401, DMI type 4, 35 bytes
Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family: Other
Manufacturer: Intel
ID: F2 06 03 00 FF FB 8B 17
Version: Not Specified
Voltage: Unknown
External Clock: Unknown
Max Speed: 2400 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: Not Provided
L2 Cache Handle: Not Provided
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
processor 키워드로 장비의 cpu 정보를 확인할 수 있다.
본 서버는 한개의 소켓이 있는 것을 볼 수 있는데, 이 소켓에 대한 코어는 나타나 있지 않다.
소켓: 물리적인 CPU 개수
코어: 물리적인 CPU 안에 몇개의 컴퓨팅 코어가 있는지
아래 명령어를 통해 본 서버의 cpu 코어의 개수가 1개인 것을 알 수 있었다.
[root@ip-10-0-1-13 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
stepping : 2
microcode : 0x49
cpu MHz : 2400.023
cache size : 30720 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data
bogomips : 4800.04
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
똑같은 목적을 위한 다른 명령어로 lscpu도 있다.
[root@ip-10-0-1-13 ~]# dmidecode -t memory
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x1000, DMI type 16, 19 bytes
Physical Memory Array
Location: Other
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 1 GB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x1100, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: 0x0000
Total Width: 64 bits
Data Width: 64 bits
Size: 1 GB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: None
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
memory 키워드는 크게 physical memory array와 memory device의 두 영역으로 나눌 수 있다.
본 서버의 CPU 소켓이 하나였기 때문에 Physical Memory Array도 1개가 있다.
또한, 본 서버의 실제로 시스템에 꽂혀 있는 메모리는 Size: 1 GB인 것을 볼 수 있다.
[root@ip-10-0-1-13 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 190M 2.8M 188M 2% /run
/dev/xvda1 8.0G 1.7G 6.3G 21% /
tmpfs 475M 0 475M 0% /tmp
tmpfs 95M 0 95M 0% /run/user/1000
본 서버에는 1개의 파티션이 있으며, 이 파티션은 /dev/xvda1에 마운트되어 있다.
[root@ip-10-0-2-116 ~]# lspci | grep -i ether
위 명령어를 본 서버에 적용했을 때 아무런 출력이 나타나지 않았다.
EC2 인스턴스에서 가상화된 NIC가 나타나야 할 것 같은데 왜 안나타나지 ? 해서
검색해봤더니 두 가지 이유가 있을 수 있다고 했다.