Dev/Linux
-
프리 메모리가 충분한데도 스왑 사용량이 많은 이유Dev/Linux 2024. 2. 17. 17:22
리눅스 시스템을 사용하다 보면 시스템에 남아 있는 free 메모리가 많이 있는 데도 불구하고 스왑(swap) 사용량이 많은 경우가 있다. 스왑은 시스템 메모리에 free 메모리가 아주 낮거나 없을때만 사용되는 것이 아니었던가? 이를 알아보기 전에 스왑에 대해서 몇가지 알아야 할 내용이 있다. 첫째, 스왑 스페이스는 시스템 메모리가 아닌 스토리지 공간을 이용한다. 따라서 디스크로의 읽고 쓰는 과정이 필요한 고비용의 작업이다. 둘째, 디스크로 스왑아웃 되는 데이터는 파일 맵핑이 없이 애플리케이션에서 할당되어 사용되는 anonymous 데이터들이다. 셋째, 커널은 가장 잘 사용하지 않는(inactive) 메모리 페이지 리스트(lru: Least recently used) 를 관리하는데 이 중에 anonymou..
-
난수 생성 데몬(rngd)Dev/Linux 2024. 2. 8. 11:59
rngd 명령은 rng-tools 패키지에서 제공하는 명령어로 난수 생성을 도와 Kernel의 entropy pool 을 채우는 것을 돕는다. rngd -l 명령으로 entropy 생성 소스들과 그 소스들의 상태 정보 확인이 가능하다. # rngd -l Entropy sources that are available but disabled 1: TPM RNG Device (tpm) 4: NIST Network Entropy Beacon (nist) Available and enabled entropy sources: 0: Hardware RNG Device (hwrng) 2: Intel RDRAND Instruction RNG (rdrand) 5: JITTER Entropy generator (jitter..
-
/dev/random 과 /dev/urandom 의 차이Dev/Linux 2024. 2. 5. 23:15
커널은 난해성 풀(entropy pool) 을 관리하는 데 그 pool 이 충분히 채워졌을 때 가장 랜덤한 결과 도출할 수 있다. 리눅스 시스템에서 커널은 무작위 숫자 생성을 /dev/random 과 /dev/urandom 을 통해서 제공한다. /dev/random 은 고품질의 무작위 숫자 생성을 보장한다. 그러기 위해서 난해성 풀이 가득 채워졌을 때만 생성을 하며 풀이 비워졌을 경우 충분히 채워질때까지 대기한다. /dev/urandom 은 대기 없이 지속적으로 무작위 숫자를 생성한다. 대신, 난해성 풀이 채워질 때 까지 대기하지 않으며 이는 무작위성이 낮을 수 도 있음을 의미한다.
-
유저 프로세스 개수 제한 - ulimit -u <최대값>Dev/Linux 2024. 2. 3. 20:54
개별 유저의 생성 가능한 프로세스의 개수를 제한할 수 있다. ulimit 명령어를 사용하면 되는데 ulimit 명령은 다양한 시스템 리소스의 최대값을 유저별로 설정할 수 있다. 설정값 없이 실행하면 현재 설정값을 보여주며 설정값을 주면 최대값으로 설정한다. -S(soft) 또는 -H(hard) 타입을 지정가능하며 설정값 없이 실행 시 -S(soft)값을 기본으로 보여준다. 현재 로그인 한 유저의 있는 최대 생성가능한 프로세스의 수 보기. soft 설정 $ ulimit -u $ ulimit -Su hard 설정 $ ulimit -Hu현재 로그인 한 유저가 생성할 수 있는 최대 프로세스 개수 지정하기 soft 설정 $ ulimit -u 20 $ ulimit -Su 20 hard 설정 $ ulimit -Hu ..
-
스왑메모리 사용 관련 설정(vm.swappiness)Dev/Linux 2020. 2. 1. 10:44
커널 문서를 보면 아래와 같이 정의하고 있다. --- swappiness This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. A value of 0 instructs the kernel not to initiate swap until the amount of free and file-backed pages is less than the high water mark in a zone. The default value is 60. --- 먼저 스왑메모리는 시스템의 ..
-
Fedora 27 에서 28 로 업그레이드Dev/Linux 2020. 1. 21. 21:00
간단한 몇가지 명령어만으로 페도라 27에서 28 로 업그레이드가 가능하다. $ sudo dnf upgrade --refresh $ sudo dnf install dnf-plugin-system-upgrade $ sudo dnf system-upgrade download --releasever=28 $ sudo dnf system-upgrade reboot 만약 업그레이드 도중 아래와 같은 에러를 만난다면: Error: Problem: nss-pem-1.0.3-6.fc27.i686 has inferior architecture - nss-pem-1.0.3-6.fc27.x86_64 does not belong to a distupgrade repository - problem with installed pa..
-
Vi(Vim) 유용한 키사용 (계속 추가중)Dev/Linux 2019. 11. 22. 12:35
도움말보기 :help 웬만한건 도움말에 다 있지만 너무 방대해서 자주 쓰는 것들만 두서 없이 적어 놓는다. 파일 내에서 'keyword' 라는 단어가 들어간 모든 라인을 삭제한다. :g/keyword/d 파일 내에서 'Apple' 을 'Kiwi' 로 모두 변경한다. :%s/Apple/Kiwi/g 줄바꿈 :set nu :set nonu 공백표시 :set list :set nolist 탭문자를 2공백문자로 표시 set tabstop=2 들여쓰기를 2공백문자로 들여쓰기 set shiftwidth=2 자동 들여쓰기 set autoindent 문자 검색 /keyword 화면 단위 위아래 이동 Ctrl+F / B 줄단위 화면 위아래 이동 Ctrl+E / Y
-
파일내 특정 키워드를 포함하는 모든 라인 삭제Dev/Linux 2019. 11. 13. 20:26
리눅스의 커맨드라인에서 특정 파일의 특정 키워드를 포함한 모든 라인을 동시에 삭제하고자 할 때, 구글링을 해보면 sed 및 awk 를 이용한 방법들이 있긴 하던데 동일 파일에 read/write 를 동시에 해야하기 때문에 안되는 경우가 많고 되더라도 플랫폼에 따라서 다른 옵션들을 사용해야하는 등의 번거로움이 있다. 그래서 내 경험상 아래의 방법이 가장 심플하고 깔끔한 듯. $ grep -v 'keyword' originalfile > tempfile && mv tempfile orignalfile