카테고리 없음

18일차

pulttaegi 2026. 5. 26. 12:45
반응형

TOP :  실시간 모니터링

h 도움말
m 메모리정보출력
l 평균부하
u 지정유저정보
k 강제종료
r 프로세스 우선순위조절 ( renice )
q 종료

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

PID : 프로그램 ID
USER: 계정
PR  : priority 우선순위 (기본값 20)
NI  : nice 값 ( -20 ~ +19 )  ***** (CPU를 끌어쓰는정도)
VIRT: 가상메모리
RES : 실제메모리
SHR : 공유메모리
S   : 상태
%CPU: CPU점유율
%MEM: 메모리점유율
TIME: 동작시간
command: 동작중인 프로세스

==================================================================

nice (프로세스의 우선순위 변경)
범위 (-20 ~ +19)  *********

renice 동작중인 프로세스 우선순위변경(top)
nice   구동될 프로세스 우선순위

nice -숫자/--숫자 [프로세스명]  **
renice -/+숫자 [pid]         **

   --10   ping    ====  nice
   -10    5144    ====  renice
** nice 사용시 기본값 +10 ***

PS : process status  프로세스 상태확인

-a  모든 세션의 쉘을 제외한 프로세스 
-u  계정별 
-l  long format
-f  full format (프로세스포멧)
-e  -e 모두 (-A 같음)
-x  터미널이 없는 내부 커널프로세스

**ps 에서 많이 쓰이는 명령
ps -ef
ps -axu

centos 6버전이전  => 최초프로세스 init  pid 1
centos 7버전이후  => 최초프로세스 systemd pid 1

메모리,CPU부하율 => TOP
프로세스내용       => ps (ps -ef)

tty=>로컬터미널(teletype)
pts=>원격터미널(Pseudo terminal slave)
PID => 자식프로세스 (프로그램 실행 ID)
PPID => 부모프로세스,선행프로세스( PPID를 실행시킨 프로세스 ID)
VSZ: 가상메모리
Ni : nice 수치
PRI : 실제 process우선순위
WCHAN : 프로세스가 기다리는 이벤트

1and
D input/output (deep sleep)
R Run
S sleep 
T Stop 중지
W paging 페이징 (커널 2.6.xx 버전부터는 유효하지 않음)
X dead (should never be seen) 죽음 (이런 게 보이면 안되는데)
Z ("zombie") process,좀비 프로세스, 
종료되었으나 부모 프로세스에 의해 수습되지 않음

2and

<  우선순위 높은
N  우선순위 낮은
L   lock 잠겨진 페이징
s   세션 프로세스
|   멀티스레드
+   포어그라운드로 동작하는 프로세스
===========================================================
pstree (프로세스를 조직도로 보여줌)

-p pid번호출력
-n pid 순서정렬

*** pstree -np ***


centos6   init (1) 

centos7   systemd (1)  프로세스 조상님 
                       모든프로세스의 부모프로세스


유닉스 시스템 SYSTEM V  
(runlevel   init 0 , 1, 2, 3, 4, 5 ,6 )
0   3  5  6   0:종료  3:텍스트 5:그래픽 6:재부팅

RHEL7     SYSTEMD   (기존의 init 프로세스를 확장개념)
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5

[실습]
systemctl get-default   [부팅방식 확인]
systemctl set-default  mulit-user.target [init 3]
systemctl get-default  확인후 init 6

cat /etc/inittab
systemctl set-default graphical.target
systemctl get-default  확인후 init 6

==================================================

fork 와 exec

fork  복사프로세스 안정성은 높으나  부하가 높다.
exec  대체프로세스  안정성은 낮으나 속도빠르고 부하가 낮다.

=========================================================================

kill  프로세스 종료 

kill -l  시그널 종류확인

시스템
signal
<1>  SIGHUP HUP 로그아웃  (nohup : 로그아웃해도 프로그램 실행)
<2>  SIGINT ctrl+c 동작취소
<9>  SIGKILL 강제종료 (kill -9) ****
<15> SIGTERM 정상종료 (기본값)**(kill)
<19> SIGSTOP 프로그램 정지
<20> SIGTSTP 키보드 동작정지(ctrl+z)

* 키보드로 시그널을 보내는 것은 짝수라는 것을 기반으로 <19>와 <20>을 구분하자

* 위에 것만 외우면 리눅스에서 kill 문제는 대부분 맞힐 수 있으


** nohup 실습 **
1#sevas로그인
ping 127.0.0.1 실행

root에서 ps -ef |grep ping 확인
sevas 로그아웃후
root에서 ps -ef |grep ping 확인
종료됨 

2#ping세션에서
nohup ping 127.0.0.1 실행

root에서 ps -ef |grep ping 확인
sevas 로그아웃후
root에서 ps -ef |grep ping 확인
kill 로 해당 PID 종료
=========================================

kill

killall  PPID포함 관련된 모든 PID종료
         (서버 자체 완전종료 : 연결자들 모두 종료)

killall [프로세스명]


kill -9   강제종료

kill [PID]
kill [PID] [PID]    //여러개를 같이 쓸 수도 있음

kill %번호




하드디스크 구조


헤드            =  디스크를 읽고 쓰기위한 장치
섹터 (sector)  =  하드디스크의 가장작은 단위  ***
트랙            =  섹터로 이루어진  집합체 (링)
실린더          =  각플래터의 동일한위치 트랙의 집합 (헤드가 참조하는곳)

가장 최초의 섹터 = 부트섹터  (각 물리파티션마다 존재) (512byte)
가장 최초의 부트섹터 = MBR (Master Boot Record)




[MBR]      파티션 (물리파티션 4개   파티션 7개 )   

 



파티션 숫자
1 2 3 4 5 (물리파티션은 4개 파티션은5개)


부팅 디스크는 주영역만 사용 가능함
1. 주영역과 논리영역은 부팅을 할수 있다 없다차이. (주영역 부팅가능)
2. 물리영역은 MBR에서 최대 4개 (물리파티션은 primary , extended다 
3. 4개이상의 파티션이 필요할시 extended를 추가하여 논리파티션으로 구성
4. extended 는 논리영역을 만들기위한 물리파티션이다.
5. extended 는  1개이상 생성 될수 없다.
6. 파티션번호는   1~4까지 물리영역이다.  (primary,extended)
7. 파티션번호 5번이후부터는 논리영역이다. 



IDE(병렬)  => SATA (직렬)
SCSI(초기병렬) => SCSI(직렬),SAS(직렬) 
----------------5.8버전------------------
(5.8 cdrom=/dev/hdc)
IDE=> 병렬하드 =>cpu에서 직접 하드관리
            /dev/hdx       **부팅중 장착불가**
SCSI=> 병렬하드=>내부scsichip에서 직접관리
             /dev/sdx      **부팅중 장착가능**

실제 수용 가능 개수인 4개를 초과해서 더이상 IDE로 추가할 수 없는 모습을 볼 수 있음

위와 같이 만들어주고 부팅한다.
다음과 같이 출력되도록 아까전에 생성한 디스크들을 지워준다.

 

* 저널링: 시스템 복구로, 안정성이 올라감


==========================================================================================


FAT
대부분의 OS가 지원
숫자나 문자로만 시작
파일이름은 8자 이상 X
확장자 3자 이상 X
공백 X
대소문자를 구별 X

단점
파티션 제한 2G
한개의 파일당 할당되는 클러스터 용량 일정하게 제한
분할영역의 크기증가 => 클러스터 크기 증가
ex)전체용량에 비례하는 파일한개 할당량
512MB  => 8K
2G     => 32K

전체용량 대비 1byte저장시 디스크할당량

================================================================================
VFAT
FAT의 Expansion version
windows 95 와 함께 도입 /FAT 와 호환
-이름 규칙 -파일이름 255, 공백 가능, 여러개의 구두점 가능,대소문자는 표기는 가능했으나 구별X
-파일 이름 설정시 GUI와 TUI 표기가 틀림
KHACDEMESEVAS.TXT(GUI)     => KHADACD~1.TXT(TUI)

=====================================================================================
OEM(Original Equipment Manufacturer) 주문자의 요청에 따라 제작되는 상품
=================================================================================
FAT32
windows 95 확장 /FAT호환
USB기본 포멧
-Windows 95 OEM Service Release 2(OSR2) 에서 처음 도입


특징 

하드디스크 여유공간 증가
클러스트 할당 8G이하 4K ************
파티션크기 2GB이상      ************
다중부팅가능
32GB 파티션 제한        *************
4GB 파일저장 제한 크기 제한 **************

단점
OSR2 이상급에서만 가능 하위버전호환X
디스크유틸리티 바이러스 프로그램에서 FAT32인식해야함
미인식시 복구 데이타 손상 위험
========================================================================

NTFS
장점
1.FAT32보다 복구기능 향상
2. 대용량 디스크에 대한 지원 향샹 (2TB)
3. 보안향상  #### EFS
(사용권한및 암호화를 사용 승인된 사용자만 특정파일에 엑세스 가능)
4. 디스크조각모음이 필요없음.......느려져서 기능사용안함

=================================================================================

REFS (REsilient File System)

Resilient => 탄력적
윈도우서버 2012 제공

특징
속도 = NTFS보다 조금 더 빠른 속력을 유지 안정적으로 전송
안정성 =  무결성을 모토/다른 작업중에도 상시 검사
확장성 =  디스크 최대 지원 용량과 최대 길이의 파일이름 더 늘어남
최대 18 QB


ReFS (Resilient File System) 

탄력적인 파일 시스템
win2012부터 제공
속도 -  NTFS보다 속도 향상 
전송신뢰성 향상
안정성 -  무결성유지
실시간 디스크 검사 지원
확장성 -  디스크 최대 지원 용량 
파일 이름 최대길이 향상

## 실제로 제대로 못써먹는다 ##
=================================================================================

##FAT와 FAT32차이
FAT FAT32
1볼륨사이즈(파티션제한)  2G 32G
2.클러스터사이즈 512MB당 8kb  8G이하 4kb
3.단일파일 저장최대크기 2G 4G
4.멀티부팅 지원 OS가 많아짐

##FAT32와 NTFS차이
FAT32 NTFS
파티션 최대크기 2TB 16 exabytes (GPT일경우..이론만가능/MBR일경우 2TB)
단일파일 저장최대크기 4G 16TB
도메인지원 X O
압축 X O
보안 X O
암호화 X O





부팅중 하드디스크 인식

find /sys -name scan

echo "- - -"  >  /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan  (아래내용 붙여넣기)
fdisk -l 확인

fdisk 명령어
fdisk -l   =>>하드 전체 리스트보기
fdisk /dev/하드장치명   ===>하드 파티션 구성하기


(ex: fdisk /dev/sdb)

fdisk 내부 명령어
n 파티션 생성
d 파티션 삭제
p 파티션 상태보기
m 메뉴얼
q 파티션 저장하지 않고 종료
w 파티션 저장후 종료
t 파티션 속성변경 (83 일반,82 스왑,85 extended, 8e, Fd 레이드) 

/dev/sdb (1G)
P P L L P
200 200 250 250 etc

/dev/sdc (1G)
P P P P
200 200 200 ETC

fdisk -l /dev/sdb  /dev/sdc

[ 연습 문제 ] 위와 같이 만들기


파티션 설정 관련 명령어이다.



포멧 (mkfs : make file system)

mkfs -t [파일시스템명]  [디바이스명]

blkid = 포멧이 완료된 파티션 확인


mkfs -t ext4 /dev/sdb5
mkfs -t xfs /dev/sdb6     
mkfs -t ext3    /dev/sdb5
mkfs -j  /dev/sdb5    ( -j 는 journal )
mkfs /dev/sdb5       (ext2)
mke2fs  /dev/sdb5     (ext2)

mke2fs   => mkfs
================================================

mkfs -t ext4 /dev/sdb4 (extended는 포멧X)
mkfs.ext4 /dev/sdb5 (-t ext4 대신 .ext4로 쓸수있음)
mkfs.xfs  -f /dev/sdb6

mkfs  는 ext2
mkfs -j 는 ext3
** xfs 포멧은 덮어쓸때 -f 를 사용해야함 ***
ex) mkfs.xfs -f /dev/sdb6

위와 같은 경우 -f 옵션을 사용해야한다.



 
리눅스 파일시스템 종류 (파일시스템 확장시 속도 up, 안정성 up )

ufs 유닉스파일시스템
ext2 속도 UP
ext3 속도 UP, 저널링 (안정성UP)
ext4 속도,저널링 기능 대폭 향상
xfs 2TB이하에서는 비효율 (대용량 파일시스템, centos7의 기본값)
====================================== 


 

반응형