반응형

리눅스를 처음 사용하게 되면 command 창앞에서 작아지는 모습을 보게 됩니다. 

 

그래서 저는 처음 리눅스를 활용하시는 분 (개발자, SE) 포함 잘 활용 할 수 있는 명령어를 소개 해드리고자 합니다.

root@choi-desktop:~# uname -a                                                             
Linux choi-desktop 5.4.0-56-generic #62~18.04.1- Ubuntu SMP Tue Nov 24 10:07:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

uname -a 는 리눅스 커널 정보를 보는 명령어 입니다. 그런데 커널 정보보다는 더 많은 정보를 확인 할 수 있습니다.

1. 커널 버젼 : 5.4.0-56-generic

2. 운영체제 버전 :  #62~18.04.1- Ubuntu SMP (ubuntu 18.04.1의 62번째 빌드 버젼)

3. 컴퓨터 이름 : choi-desktop

4. 시스템 종류 : x86_64

root@choi-desktop:~# dmidecode -t baseboard |egrep "Product|Serial"
        Product Name: H310M-STX
        Serial Number: M80-CB018600143

dmidecode는 systemdesigner.tistory.com/75

 

CPU / BIOS 정보 확인하기

이번에는 CPU와 BIOS 정보를 확인하는 방법을 살펴보겠습니다. 리눅스에서는 dmidecode 명령을 통해 하드웨어 정보를 확인 합니다. 보통 dmidecode를 사용하게 되면 너무 많은 정보가 나오기 때문에 적

systemdesigner.tistory.com

해당 포스트에 자세한 활용방법이 있습니다. 가장 많이 사용하는 방법은 디바이스의 모델명과 시리얼 넘버가 필요할 때가 있는데 이때 활용 하게 됩니다. 

 

root@choi-desktop:/work/linux# find ./ -name "*.c" |xargs grep -n "start_kernel(void)"
./arch/arm/kernel/smp.c:382:asmlinkage void secondary_start_kernel(void)
./arch/arm64/kernel/smp.c:190:asmlinkage notrace void secondary_start_kernel(void)
./arch/x86/kernel/head32.c:32:asmlinkage __visible void __init i386_start_kernel(void)
./arch/x86/xen/enlighten_pv.c:1195:asmlinkage __visible void __init xen_start_kernel(void)
./arch/alpha/boot/main.c:151:void start_kernel(void)

다음은 소스코드를 분석하는 방법입니다. 이 부분은 활용도가 많이 있습니다. 소스코드 뿐만 아니라 많은 로그 파일에서도 특정 문자열을 분석하는 데 활용이 많이 됩니다. 설명하자면 find로 원하는 파일을 찾고 그 안에 내용을 xargs로 읽은 후 grep으로 문자열을 검색하는 방법 입니다. 

 

root@choi-desktop:/work/linux# du -h -d 1 
46M     ./include
3.1M    ./security
3.2G    ./.git
134M    ./arch
64K     ./usr
264K    ./ipc
228K    ./virt
41M     ./tools
33M     ./net
1.8M    ./block

리눅스를 운영하다 보면 디스크가 꽉 찰거 같아서 데이터를 지워야 되는 상황이 있습니다. 이 때 빨리 검색해서 폴드를 지워야 되는데 이때 활용하는 명령어 입니다. 해당 명령어를 활요하면 사이즈가 큰 폴더를 찾아서 대응을 할 수 있습니다.

root@choi-desktop:/work/linux# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3

telnet은 원래는 telnet으로 원격 시스템에 접속하는 도구 입니다. 하지만 ssh가 범용적으로 사용되면서 이제는 거의 사용되지 않습니다. 그렇지만 심플한 프로그램이기 때문에 port를 점검하는 도구로 활용이 됩니다. 시스템이 장애가 났을때 ping은 되지만 또는 보안등의 이슈로 icmp를 disable를 시킨 경우 telnet으로 service가 되는 port를 체크를 함으로서 시스템이 정상동작하는지의 여부를 확인 할 수 있습니다.

반응형
반응형

네트워크 카드 정보 역시 하드웨어 적인 이슈를 확인 할 때 매우 유용하게 사용된다.

root@choi:/media# lspci |grep -i ether

00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04) 


위 시스템은 인텔에서 인보드 형태로 만든  82579M 모델이고 기가비트 네트워크 카드 입니다. 이 정보가 중요한 이유는 가혹 특정 모델에서 버그나 이슈가 보고 될때 자신의 시스템이 해당되는지 확인해야 되고 관련된 펌웨어를 찾기 위함입니다.


이번에는 ethtool을 이용해서 연결 상태를 확인해 보겠습니다.

root@choi:/media# ethtool eth0

Settings for eth0:

        Supported ports: [ TP ]

        Supported link modes:   10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Supported pause frame use: No

        Supports auto-negotiation: Yes

        Supported FEC modes: Not reported

        Advertised link modes:  10baseT/Half 10baseT/Full

                                100baseT/Half 100baseT/Full

                                1000baseT/Full

        Advertised pause frame use: No

        Advertised auto-negotiation: Yes

        Advertised FEC modes: Not reported

        Speed: 1000Mb/s

        Duplex: Full

        Port: Twisted Pair

        PHYAD: 1

        Transceiver: internal

        Auto-negotiation: on

        MDI-X: on (auto)

        Supports Wake-on: pumbg

        Wake-on: g

        Current message level: 0x00000007 (7)

                               drv probe link

        Link detected: yes 


ethtool을 통해서 확인할 수 있는 정보는 우선 해당 네트워크 카드가 어느정도 속도 까지 지원되는지 확인이 가능하고 현재 연결된 스피드, 네트워크 연결상태의 정상 유무를 확인 할수 잇습니다.


또한 ethtool을 이용해서 네트워크 카드의 여러가지 세팅 정보도 확인이 가능합니다.


-g 옵션을 이용해서 Ring Buffer의 크기를 확인 할 수 있고 -G 옵션을 이용해서 Ring buffer의 사이즈를 조절할 수 있습니다.

root@choi:/media# ethtool -g eth0

Ring parameters for eth0:

Pre-set maximums:

RX:             4096

RX Mini:        0

RX Jumbo:       0

TX:             4096

Current hardware settings:

RX:             256

RX Mini:        0

RX Jumbo:       0

TX:             256


root@choi:/media# ethtool -G eth0 rx 300

root@choi:/media# ethtool -g eth0

Ring parameters for eth0:

Pre-set maximums:

RX:             4096

RX Mini:        0

RX Jumbo:       0

TX:             4096

Current hardware settings:

RX:             304

RX Mini:        0

RX Jumbo:       0

TX:             256 



-k 옵션을 이용해서 현재 사용중인 옵션을 이용해서 네트워크 카드의 다양한 성능 최적화 옵션을 확인 할 수 있고 -K 옵션을 이용해서 성능 최적화를 설정할 수 있습니다.

root@choi:/media# ethtool -k eth0

Features for eth0:

rx-checksumming: on

tx-checksumming: on

        tx-checksum-ipv4: off [fixed]

        tx-checksum-ip-generic: on

        tx-checksum-ipv6: off [fixed]

        tx-checksum-fcoe-crc: off [fixed]

        tx-checksum-sctp: off [fixed]

scatter-gather: on

        tx-scatter-gather: on

        tx-scatter-gather-fraglist: off [fixed]

tcp-segmentation-offload: on

        tx-tcp-segmentation: on

        tx-tcp-ecn-segmentation: off [fixed]

        tx-tcp-mangleid-segmentation: off

        tx-tcp6-segmentation: on

udp-fragmentation-offload: off

generic-segmentation-offload: on

generic-receive-offload: on

...중략...


root@choi:/media# ethtool -K eth0  gro off

root@choi:/media# ethtool -k eth0

Features for eth0:

rx-checksumming: on

tx-checksumming: on

        tx-checksum-ipv4: off [fixed]

        tx-checksum-ip-generic: on

        tx-checksum-ipv6: off [fixed]

        tx-checksum-fcoe-crc: off [fixed]

        tx-checksum-sctp: off [fixed]

scatter-gather: on

        tx-scatter-gather: on

        tx-scatter-gather-fraglist: off [fixed]

tcp-segmentation-offload: on

        tx-tcp-segmentation: on

        tx-tcp-ecn-segmentation: off [fixed]

        tx-tcp-mangleid-segmentation: off

        tx-tcp6-segmentation: on

udp-fragmentation-offload: off

generic-segmentation-offload: on

generic-receive-offload: off

...중략...


여기서 제가 off한 기능은 tcp-offload 기능인데 이 기능은 MTU 이상의 크기를 가지는 패킷의 분할 작업을 CPU가 아닌 네트워크 카드가 직접 함으로서 CPU의 부담을 줄이고 패킷 처리 성능을 높이는 기능입니다. 하지만 이 기능은 네트워크 대역폭이 너무 높은 서버들에서 이슈를 일으킬 수 있기 때문에 불특정한 패킷 유실이 일어나는 것 같다면 기능을 off 하는것이 좋다. 

반응형
반응형

dmidecode 메모리 키워드를 이용해서 메모리의 정보 및 제조사 까지 확인이 가능합니다.

root@choi:~# dmidecode -t memory

# dmidecode 3.1

Getting SMBIOS data from sysfs.

SMBIOS 2.6 present.


Handle 0x0005, DMI type 16, 15 bytes

Physical Memory Array

        Location: System Board Or Motherboard

        Use: System Memory

        Error Correction Type: None

        Maximum Capacity: 16 GB

        Error Information Handle: Not Provided

        Number Of Devices: 2


Handle 0x0006, DMI type 17, 28 bytes

Memory Device

        Array Handle: 0x0005

        Error Information Handle: Not Provided

        Total Width: 64 bits

        Data Width: 64 bits

        Size: 8192 MB

        Form Factor: SODIMM

        Set: None

        Locator: ChannelA-DIMM0

        Bank Locator: BANK 0

        Type: DDR3

        Type Detail: Synchronous

        Speed: 1333 MT/s

        Manufacturer: Samsung

        Serial Number: 0057F09A

        Asset Tag: 9876543210

        Part Number: M471B1G73EB0-YK0

        Rank: Unknown


Handle 0x0007, DMI type 17, 28 bytes

Memory Device

        Array Handle: 0x0005

        Error Information Handle: Not Provided

        Total Width: 64 bits

        Data Width: 64 bits

        Size: 8192 MB

        Form Factor: SODIMM

        Set: None

        Locator: ChannelB-DIMM0

        Bank Locator: BANK 2

        Type: DDR3

        Type Detail: Synchronous

        Speed: 1333 MT/s

        Manufacturer: Samsung

        Serial Number: 8608E3FF

        Asset Tag: 9876543210

        Part Number: M471B1G73EB0-YK0

        Rank: Unknown 


메모리 키워드에서는 크게 Physical Memory Array와 Memory Device로 나누어집니다.


Physical Memory Array는 하나의 CPU 소켓에 함께 할당 된 물리 메모리의 그룹을 의미합니다. CPU(프로세서)는 NUMA라는 개념을 이용해서 CPU가 사용해서 각각의 CPU가 사용할 수 있는 로컬 메모리를 제공합니다. Physical Memory Array는 이 개념에서 시작하며, 지금 보고 있는 시스템은 1개의 CPU 소켓이 있기에 Physical Memory Array 영역도 1개 존재합니다. 


Memory Device는 실제로 시스템에 꽂혀 있는 메모리를 의미하고 용량 및 제조사를 포함한 상세 스펙을 제공합니다.


다음은 디스크 정보를 확인하겠습니다.


디스크 정보를 확인하는 과정에서 가장 중요한 거는 물리적인 디바이스와 파일시스템 기준의 정보를 확인하는 방법 입니다.


먼저 파일시스템 기준으로 현재 시스템을 구성하고 있는 있는 파일 시스템을 확인하겠습니다.


root@choi:~# df -h

Filesystem      Size  Used Avail Use% Mounted on

udev            7.8G     0  7.8G   0% /dev

tmpfs           1.6G  3.3M  1.6G   1% /run

/dev/sda1       458G   31G  404G   8% /

tmpfs           7.8G  8.0K  7.8G   1% /dev/shm

tmpfs           5.0M  4.0K  5.0M   1% /run/lock

tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup

tmpfs           1.6G   16K  1.6G   1% /run/user/127

tmpfs           1.6G     0  1.6G   0% /run/user/1000

/dev/sdb1       8.0G  2.2G  5.9G  27% /media/storage

/dev/sdb2       924G  801G  124G  87% /media/choi 


tmpfs를 제외하고 보게 되면 현재 시스템에는 /dev/sda1, /dev/sdb1, /dev/sdb2 이렇게 3개의 시스템이 마운트가 되어 있는것을 알 수 있습니다.


여기서 디스크명이 sda로 나와 있는데 있는데 이부분이 hda, vda 일수도 있습니다. 이 차이점에 대해서 알아보겠습니다.

시스템이 디스크와 통신하기 위해서 컨트롤러라는 부품이 있습니다  컨트롤러는 디스크를 사용하려는 쪽과 실제 디스크 사이에서 통신이 원할하게 이루어질 수 있도록 일종의 중개자 역할을 하는데 이 부품에 크게 2가지 타입이 있습니다. 2가지 타입은 IDE 와 SCSI 타입입니다. IDE는 개인용 컴퓨터를 위한 방식(병렬 통신), SCSI는 서버용 컴푸터를 이한 방식(직렬통신)이라고 볼수 있습니다. 현재 IDE는 대부분 사장되어 있는점 확인 부탁드립니다.


다음은 디스크 정보를 확인하는 방법입니다. 먼저 fdisk, parted 2개를 이용할 수 있는데 fdisk는 mbr 타입으로 디스크를 검색하고 parted는 gpt 타입으로 디스크를 검색하게 됩니다. 

root@choi:/media# fdisk -l


Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x040027c3


Device     Boot Start       End   Sectors   Size Id Type

/dev/sda1  *     2048 976771071 976769024 465.8G 83 Linux



Disk /dev/sdb: 931.5 GiB, 1000204885504 bytes, 1953525167 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x87bf995a


Device     Boot    Start        End    Sectors   Size Id Type

/dev/sdb1           2048   16779263   16777216     8G  c W95 FAT32 (LBA)

/dev/sdb2       16779264 1953519615 1936740352 923.5G  7 HPFS/NTFS/exFAT


root@choi:/media# parted -l

Model: ATA Samsung SSD 840 (scsi)

Disk /dev/sda: 500GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Disk Flags:


Number  Start   End    Size   Type     File system  Flags

 1      1049kB  500GB  500GB  primary  ext4         boot



Model: Seagate FreeAgent GoFlex (scsi)

Disk /dev/sdb: 1000GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Disk Flags:


Number  Start   End     Size    Type     File system  Flags

 1      1049kB  8591MB  8590MB  primary  fat32        lba

 2      8591MB  1000GB  992GB   primary  ntfs 


마지막으로 디스크의 상세 스펙을 확인하는 명령어를 알아보겠습니다.


smartctl 명령에 다양한 옵션을 통해 해당 디스크의 정보 및 상태에 대해서 알아볼수 있습니다. 상세한 옵션은 man 페이지를 확인 가능합니다.

저는 보통 -iA (기본 정보 및 스마트 데이터)를 사용합니다.

root@choi:/media# smartctl -iA /dev/sda

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-22-generic] (local build)

Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org


=== START OF INFORMATION SECTION ===

Model Family:     Samsung based SSDs

Device Model:     Samsung SSD 840 EVO 500GB

Serial Number:    S1DHNWAG200050A

LU WWN Device Id: 5 002538 870095d40

Firmware Version: EXT0DB6Q

User Capacity:    500,107,862,016 bytes [500 GB]

Sector Size:      512 bytes logical/physical

Rotation Rate:    Solid State Device

Device is:        In smartctl database [for details use: -P show]

ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c

SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)

Local Time is:    Sat Aug  4 17:43:44 2018 KST

SMART support is: Available - device has SMART capability.

SMART support is: Enabled


=== START OF READ SMART DATA SECTION ===

SMART Attributes Data Structure revision number: 1

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0

  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       5601

 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       755

177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       10

179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0

181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0

182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0

183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0

187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0

190 Airflow_Temperature_Cel 0x0032   064   052   000    Old_age   Always       -       36

195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0

199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       240

235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       161

241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       5460875549 


보시는 바와 같이 상세 모델명과 펌웨어버젼 그리고 상태 정보까지 모니터링 가능합니다. smart 데이터는 추후에 다시 이야기하도록 하겠습니다.

반응형
반응형

이번에는 CPU와 BIOS 정보를 확인하는 방법을 살펴보겠습니다.


리눅스에서는 dmidecode 명령을 통해 하드웨어 정보를 확인 합니다. 

보통 dmidecode를 사용하게 되면 너무 많은 정보가 나오기 때문에 적절하게 옵션을 선택해서 필요한 정보를 취사 선택 하는것이 중요합니다.


시작하기에 앞서 man을 이용해서 dmdecode에서 확인 가능한 정보 리스트를 확인 해보도록 하겠습니다.

       Type   Information

       ────────────────────────────────────────────

          0   BIOS

          1   System

          2   Baseboard

          3   Chassis

          4   Processor

          5   Memory Controller

          6   Memory Module

          7   Cache

          8   Port Connector

          9   System Slots

         10   On Board Devices

         11   OEM Strings

         12   System Configuration Options

         13   BIOS Language

         14   Group Associations

         15   System Event Log

         16   Physical Memory Array

         17   Memory Device

         18   32-bit Memory Error

         19   Memory Array Mapped Address

         20   Memory Device Mapped Address

         21   Built-in Pointing Device

         22   Portable Battery

         23   System Reset

         24   Hardware Security

         25   System Power Controls

         26   Voltage Probe

         27   Cooling Device


         28   Temperature Probe

         29   Electrical Current Probe

         30   Out-of-band Remote Access

         31   Boot Integrity Services

         32   System Boot

         33   64-bit Memory Error

         34   Management Device

         35   Management Device Component

         36   Management Device Threshold Data

         37   Memory Channel

         38   IPMI Device

         39   Power Supply

         40   Additional Information

         41   Onboard Devices Extended Information

         42   Management Controller Host Interface 


다양한 정보를 확인 할 수 있는 만큼 적절하게 사용하게 되면 업무에 많은 도움이 될 수 있습니다. (특히 서버 환경에서 ...)


먼저 bios를 확인해 보겠습니다

root@choi:~# dmidecode  -t bios

# dmidecode 3.1

Getting SMBIOS data from sysfs.

SMBIOS 2.6 present.


Handle 0x000D, DMI type 0, 24 bytes

BIOS Information

        Vendor: LENOVO

        Version: 8DET72WW (1.42 )

        Release Date: 02/18/2016

        Address: 0xE0000

        Runtime Size: 128 kB

        ROM Size: 8192 kB

        Characteristics:

                PCI is supported

                PNP is supported

                BIOS is upgradeable

                BIOS shadowing is allowed

                Boot from CD is supported

                Selectable boot is supported

                EDD is supported

                3.5"/720 kB floppy services are supported (int 13h)

                Print screen service is supported (int 5h)

                8042 keyboard services are supported (int 9h)

                Serial services are supported (int 14h)

                Printer services are supported (int 17h)

                CGA/mono video services are supported (int 10h)

                ACPI is supported

                USB legacy is supported

                BIOS boot specification is supported

                Targeted content distribution is supported

        BIOS Revision: 1.42

        Firmware Revision: 1.24


Handle 0x002B, DMI type 13, 22 bytes

BIOS Language Information

        Language Description Format: Abbreviated

        Installable Languages: 1

                en-US

        Currently Installed Language: en-US 


보통 bios 키워드는 특정 BIOS 버젼에 문제가 있다는 보고가 있고 내가 사용하는 버젼이 이에 해당하는지 확인하기 위해서 사용 합니다.


다음은 가장 많이 사용하게 되는 system입니다.


root@choi:~# dmidecode  -t system

# dmidecode 3.1

Getting SMBIOS data from sysfs.

SMBIOS 2.6 present.


Handle 0x000E, DMI type 1, 27 bytes

System Information

        Manufacturer: LENOVO

        Product Name: 4290P13

        Version: ThinkPad X220

        Serial Number: R9FPDTG

        UUID: 93D38881-50A9-11CB-BE41-FD560931E6E9

        Wake-up Type: Power Switch

        SKU Number: Not Specified

        Family: ThinkPad X220


Handle 0x002A, DMI type 12, 5 bytes

System Configuration Options


Handle 0x0038, DMI type 15, 29 bytes

System Event Log

        Area Length: 66 bytes

        Header Start Offset: 0x0000

        Header Length: 16 bytes

        Data Start Offset: 0x0010

        Access Method: General-purpose non-volatile data functions

        Access Address: 0x00F0

        Status: Valid, Not Full

        Change Token: 0x00000003

        Header Format: Type 1

        Supported Log Type Descriptors: 3

        Descriptor 1: POST error

        Data Format 1: POST results bitmap

        Descriptor 2: Single-bit ECC memory error

        Data Format 2: Multiple-event

        Descriptor 3: Multi-bit ECC memory error

        Data Format 3: Multiple-event 


제일 먼저 해당 모델명과 제조사 확인이 가능합니다. 이를 통해 해당 장비의 성능을 낼 수 있는지 확인이 가능합니다. 또한 시스템 이벤트 로그를 보여 줌으로 해당 시스템의 이력을 간단하게 확인 합니다. 


root@choi:~# dmidecode  -t processor

# dmidecode 3.1

Getting SMBIOS data from sysfs.

SMBIOS 2.6 present.


Handle 0x0001, DMI type 4, 42 bytes

Processor Information

        Socket Designation: CPU

        Type: Central Processor

        Family: Core i5

        Manufacturer: Intel(R) Corporation

        ID: A7 06 02 00 FF FB EB BF

        Signature: Type 0, Family 6, Model 42, Stepping 7

        Flags:

                FPU (Floating-point unit on-chip)

                VME (Virtual mode extension)

                DE (Debugging extension)

                PSE (Page size extension)

                TSC (Time stamp counter)

                MSR (Model specific registers)

                PAE (Physical address extension)

                MCE (Machine check exception)

                CX8 (CMPXCHG8 instruction supported)

                APIC (On-chip APIC hardware supported)

                SEP (Fast system call)

                MTRR (Memory type range registers)

                PGE (Page global enable)

                MCA (Machine check architecture)

                CMOV (Conditional move instruction supported)

                PAT (Page attribute table)

                PSE-36 (36-bit page size extension)

                CLFSH (CLFLUSH instruction supported)

                DS (Debug store)

                ACPI (ACPI supported)

                MMX (MMX technology supported)

                FXSR (FXSAVE and FXSTOR instructions supported)

                SSE (Streaming SIMD extensions)

                SSE2 (Streaming SIMD extensions 2)

                SS (Self-snoop)

                HTT (Multi-threading)

                TM (Thermal monitor supported)

                PBE (Pending break enabled)

        Version: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

        Voltage: 1.2 V

        External Clock: 100 MHz

        Max Speed: 2500 MHz

        Current Speed: 2500 MHz

        Status: Populated, Enabled

        Upgrade: ZIF Socket

        L1 Cache Handle: 0x0002

        L2 Cache Handle: 0x0003

        L3 Cache Handle: 0x0004

        Serial Number: Not Supported by CPU

        Asset Tag: None

        Part Number: None

        Core Count: 2

        Core Enabled: 2

        Thread Count: 4

        Characteristics:

                64-bit capable 


먼저 이 시스템은 i5-2520M CPU임을 알수 있고 1CPU에 2코어에 하이퍼 스레딩을 이용해서 4코어를 쓸수 있음을 확인할 수 있습니다.


또한 해당 정보는 cat /proc/cpuinfo , lscpu를 통해서도 같이 확인할 수 있습니다.


root@choi:~# cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 42

model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

stepping        : 7

microcode       : 0x29

cpu MHz         : 879.757

cache size      : 3072 KB

physical id     : 0

siblings        : 4

core id         : 0

cpu cores       : 2

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 dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts

bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass

bogomips        : 4983.69

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

... 중략 ...


root@choi:~# lscpu

Architecture:        x86_64

CPU op-mode(s):      32-bit, 64-bit

Byte Order:          Little Endian

CPU(s):              4

On-line CPU(s) list: 0-3

Thread(s) per core:  2

Core(s) per socket:  2

Socket(s):           1

NUMA node(s):        1

Vendor ID:           GenuineIntel

CPU family:          6

Model:               42

Model name:          Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

Stepping:            7

CPU MHz:             953.259

CPU max MHz:         3200.0000

CPU min MHz:         800.0000

BogoMIPS:            4983.69

Virtualization:      VT-x

L1d cache:           32K

L1i cache:           32K

L2 cache:            256K

L3 cache:            3072K

NUMA node0 CPU(s):   0-3

Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts

 


반응형
반응형

uname은 리눅스 커널 정보를 확인하는 방법이다.


먼저 man을 이용해서 옵션을 확인하면 다음과 같습니다.


UNAME(1)                         User Commands                        UNAME(1)


NAME

       uname - print system information


SYNOPSIS

       uname [OPTION]...


DESCRIPTION

       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 


예시를 통해 uname을 통해 시스템 정보를 알아 보도록 합시다


root@choi:~# uname -a

Linux choi 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 


위 시스템의 커널버젼은 4.15.0-22-generic #24-Ubuntu 이고 SMP(멀티코어 시스템)에서 사용되며 X86 계열의 64비트 운영체제를 사용하고 있습니다. 

그리고  5월 16일 수요일 12:15:17설치 된것을 확인 할 수 있습니다.

반응형
반응형

/etc와 /usr/etc 디렉토리는 시스템의 부팅, 셧다운 시에 필요한 파일들과 시스템의 전반에 걸친 설정 파일들 및 초기 스크립트 파일들이 있다. 시스템에 어떠한 문제가 발생한다거나, 시스템 전체 환경에 관한 설정을 바꾸기 위해서는 이들 디렉토리내에 포함되어 있는 파일들에 대하여 잘 알아야 한다.


/etc/rc :  /bin/sh shell이 시스템이 부트되면, 자동적으로 실행되는 스크립트이다. 이것은 update, crond, inetd 같은 프로그램을 백그라운드로 실행시키며, 파일 시스템 마운팅, 스웹 영역 활성, 그리고 이런 유사한 다른 작업들을 한다. /etc/rc.local 과 /etc/rc.[0-9] 파일이 포함되기도 한다.


/etc/passwd : 사용자에 대한 정보를 포함하고 있는 문서 파일이다.


/etc/fstab : 이 파일은 /etc/rc 파일 안의 mount -a 명령에 의해 마운팅되는 파일 시스템과 스웹 영역의 목록이다.


/etc/getty : 이 프로그램은 터미널로 누군가가 login하기를 기다린다. 명령어 init에 의해 자동적으로 실행되며, login가능한 터미널 라인이나 가상 콘솔 당 한번씩 실행된다. 또한, 사용자의 패스워드를 기다리며, login을 실행한다.


/etc/gettydefs or /etc/gettytab : getty가 터미널 라인의 속도, 패러티 검사 등을 어떻게 사용할 것인가를 설정한다.


/etc/group : /etc/passwd와 유사하며, 사용자 대신에 그룹을 설정한다.


/etc/init : 이 프로그램은 부팅 시에 커널에 의해 첫 번째 프로세스로 실행된다. init가 실행된 후에 커널을 부팅이 완료된다. init는 /etc/rc와 gettys 등을 실행한다.


/etc/inittab : init가 시작할 때의 gettys의 목록 파일이다.


/etc/issue : 로그인 프롬프트 이전에 출력되는 getty 출력 문서 파일이다.


/etc/magic : 명령어 file의 설정 파일이며, file이 파일의 형식을 알게 해주는 다양한 형식이 기술되어 있다.


/etc/mtab : 이 파일은 마운팅된 파일 시스템을 포함하고 있다. /etc/rc와 mount나 unmount 명령에 의한 셋업이며, 마운팅된 파일 시스템의 목록이 필요할 때 사용된다.


/etc/mtools : 유닉스 상에서 MS-DOS 포맷 디스크를 사용하게 해주는 mtools를 위한 설정 파일이다.


/etc/shadow : 시스템의 shadow 패스워드를 포함하는 파일이다.


/etc/login.defs : login 명령에 사용되는 설정 파일이다.


/etc/printcap : /etc/termcap 과 유사하며, 프린터를 사용할 때(lpr) 쓰인다.


/etc/profile : Bourne shell(/bin/sh or bash)에 의해 로그인할 때 실행되는 파일이다.


/etc/securetty : 터미널을 보안하는 것으로서, root는 이 파일에 열거된 터미널로 로그인 할 수 있다. 보통 가상 콘솔들이 열거되어 있으며, 모뎀이나 네트웤으로 시스템에 접근하여 수퍼 유저의 권한을 얻는 것을 막을 수 있다.


/etc/shells : shell의 목록으로 chsh 명령으로 사용자 로그인 shell을 바꿀 때, 이 파일의 목록에 있는 shell만 바꿀 수 있게 한다.


/etc/termcap : 터미널의 기능 데이터베이스이다. 이것은 문서 파일로서 ESCAPE 문자들로서 터미널을 제어할 때 사용된다.


/etc/ttytype : 터미널 라인을 위한 디폴트 터미널 형태의 목록이다.


/etc/update : /etc/rc 에 의해 백그라운드로 실행되는 프로그램의 하나로 매 30 초마다 버퍼 캐시에 있는 하드로 쓰여지지 않은 데이터를 저장한다. 이러한 것은 전원의 단절이나, 커널의 이상 등을 대비하여 매 30초마다 데이터를 저장함으로서 데이터 손실의 위험부담을 줄이는 것이다.


/etc/utmp : 각각의 터미널에 로그인한 사용자나, 로그인에 관한 정보가 기록되어 있는 이진 파일이다. 사용자가 로그인하면, login은 누가 로그인을 하고 언제 로그 아웃을 하였는가에 대한 정보를 기록한다.


/etc/wtmp : /etc/utmp와 유사하며, 단지 존재하는 정보를 덮어쓰지 않고 계속 추가된다.


/etc/ftpusers, /etc/ftpaccess, /etc/rpc, /etc/rpcint, /etc/exports  : 네트워크에 관한 파일들이다.

반응형

+ Recent posts