RAM 디스크가 너무 많은 이유는 무엇입니까?


15

Raspberry Pi 2에서 Arch Linux를 실행하고 있습니다.

마우스 오른쪽 단추로 설치 후, 내가 실행 lsblk, fdiskdf명령 (불행하게도 나는 출력을 저장하지 않았다)하지만 난 SD 카드와 그 위에 두 개의 파티션 하나 개의 디스크를했다. 그런 다음, pacman -Syu설치 sudo및 구성으로 시스템을 업그레이드했습니다 ssh. 이제 실행할 때 fdisk매개 변수가있는 16 개의 RAM 디스크가 메모리에 있음을 보여줍니다.

Disk /dev/ram15: 4 MiB, 4194304 bytes, 8192 sectors 

Units: sectors of 1 * 512 = 512 bytes 

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

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

그리고 다양한 마운트 지점에 마운트 된 모든 종류의 파일 시스템 (개인적으로 만 생성 /dev/root하고 /dev/boot) :

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.8G  1.1G  557M  67% /
devtmpfs        458M     0  458M   0% /dev
tmpfs           462M     0  462M   0% /dev/shm
tmpfs           462M  328K  462M   1% /run
tmpfs           462M     0  462M   0% /sys/fs/cgroup
tmpfs           462M     0  462M   0% /tmp
/dev/mmcblk0p1  100M   18M   83M  18% /boot
tmpfs            93M     0   93M   0% /run/user/1000

그래서 내 질문은 :이 모든 RAM 디스크는 무엇이며 왜 내 시스템에 있는지, 왜 디스크를 만들지 않았으며 파일 시스템이 마운트 되었습니까?

편집 :

cat /proc/partitions 산출:

major minor  #blocks  name

   1        0       4096 ram0
   1        1       4096 ram1
   1        2       4096 ram2
   1        3       4096 ram3
   1        4       4096 ram4
   1        5       4096 ram5
   1        6       4096 ram6
   1        7       4096 ram7
   1        8       4096 ram8
   1        9       4096 ram9
   1       10       4096 ram10
   1       11       4096 ram11
   1       12       4096 ram12
   1       13       4096 ram13
   1       14       4096 ram14
   1       15       4096 ram15
 179        0   31472640 mmcblk0
 179        1     102400 mmcblk0p1
 179        2    1853439 mmcblk0p2

1
관련 질문을 찾았습니다 . 그 질문에는 큰 대답이 없지만 한 의견은 그것이 /proc/partitions관련이 있다고 제안합니다 . cat /proc/partitions질문에 결과를 포함시켜야합니다 .
kasperd

Raspberry Pi 관련 사이트에서 일반적인 Linux 질문에 대한 답변을 반드시 찾을 필요는 없습니다. 빠른 Google이 답을 찾습니다.
joan

1
@joan 아, 나는 광범위한 인터넷 검색을했지만 명확하고 간결한 답변을 찾을 수 없었습니다.
RusI

1. 커널을 컴파일하기 전에 해당 RAM 디스크를 활성화해야합니다. 2. FS를 마운트하기 전에 실제로 RAM을 사용해서는 안됩니다.
flakeshake

이 RAM 디스크를 할당하는 이유는 수수께끼로 남아 있습니다. 그 이유는 1) SD 카드에 쓰기 저장 및 / 또는 2) 디스크 입출력 대기 시간을 줄임으로써 성능을 향상시켜야 할 것 같습니다. 그러한 진술로 아무도 (신뢰할만한) 기록을 남기지 못했습니다.
Seamus

답변:


4

첫째, RAM 디스크는 tmpfs와 동일하지 않습니다 .

루트 파일에는 임시 파일을 저장하는 데 사용되는 많은 디렉토리가 있습니다. 이러한 폴더는 응용 프로그램이 실행 과정에서 파일을 작성, 수정 및 삭제함에 따라 많은 읽기 및 쓰기 작업을 진행하는 경향이 있습니다.

읽기 / 쓰기주기 수가 중요하지 않은 기계식 하드 드라이브에서는이 정도면 충분합니다. 그러나 주 스토리지 백엔드가 제한된 수의 읽기 / 쓰기주기가있는 SD 카드 인 Raspberry Pi에서 I / O가 너무 많이 발생하면 카드가 조기에 마모 될 수 있습니다.

재부팅을 통해 임시 디렉토리에 파일을 유지할 필요가 없으므로 많은 배포판에서는 트래픽이 많은 임시 파일을 RAM에 저장하여 저장 장치의 마모를 줄입니다. Tmpfs는 RAM을 스토리지 백엔드로 사용하는 파일 시스템이므로 사용됩니다. 이것이 tmpfs로 마운트 된 디렉토리가 너무 많은 이유입니다.

RAM 디스크는 이것과 완전히 관련이 없습니다. 그들은있는 블록 장치 의 tmpfs는 반면 RAM에 의해 백업됩니다 파일 시스템 RAM의 지원이. RAM 디스크는 다음과 유사한 원시 블록 장치 /dev/sda입니다. 실행하여 RAM 디스크 위에 파일 시스템을 만들 수 있습니다mkfs /dev/ram 입니다. 일반 하드 드라이브 블록 장치에서와 마찬가지로 .

사용할 수있는 RAM 디스크의 수 는 커널 구성 옵션에 의해 제어된다고 생각합니다 . 사용하거나 쓸 때까지 실제로 공간을 차지하지 않으므로 안심하십시오.


7

그것은 특별한 일이 아닙니다.

RAM 디스크는 일반적으로 임시 파일 시스템에 사용됩니다.

내 데비안 노트북

Filesystem      Size  Used Avail Use% Mounted on
udev            1.5G     0  1.5G   0% /dev
tmpfs           301M   32M  269M  11% /run
/dev/sda2        47G   31G   14G  71% /
tmpfs           1.5G  1.7M  1.5G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup
tmpfs           1.5G   69M  1.5G   5% /tmp
/dev/sda4       386G  344G   23G  94% /home
tmpfs           301M   12K  301M   1% /run/user/114
tmpfs           301M   76K  301M   1% /run/user/1000

내 라즈 비안 파이 제로

Filesystem                     Size  Used Avail Use% Mounted on
/dev/root                      7.2G  3.8G  3.1G  56% /
devtmpfs                       214M     0  214M   0% /dev
tmpfs                          218M     0  218M   0% /dev/shm
tmpfs                          218M   17M  202M   8% /run
tmpfs                          5.0M  4.0K  5.0M   1% /run/lock
tmpfs                          218M     0  218M   0% /sys/fs/cgroup
/dev/mmcblk0p1                  56M   20M   37M  36% /boot
tmpfs                          100M  4.0K  100M   1% /ram
tmpfs                           44M     0   44M   0% /run/user/109
mercury.lan:/home/common/code  386G  344G   23G  94% /code
tmpfs                           44M     0   44M   0% /run/user/1000

3
당신은 질문에 대답하지 않습니다. 문제는 /dev/ram15fdisk의 출력에 왜 (그리고 아마도 0-14도) 나타나는지입니다. 귀하의 답변은와 tmpfs전혀 관련이없는 것을 언급 하고 /dev/ram*있습니다.
kasperd

1
나는 당신의 진술을 의심하지 않지만 이러한 변경이 왜 내 시스템에서 발생했는지에 관심이 있습니다. 내가 리눅스를 공부하고 있는데, 구체적으로 아치를 "하드 코어"로 선택하여 OS에 원하는 것을 명시해야 할 부분을 말하면, 디스크와 파일 시스템을 만들어서 마운트하는 시스템이 생겼다. 여기저기서 요-누가 통제하고 있습니까?
RusI

2

짧은 대답 : 최신 버전에서는 fdisk 독특 합니다. 또는 당신은 또한 사용할 수 partedlsblk .

AskUbuntu 의이 스레드 에서 추출되었습니다 .

이후 버전 fdisk에서 프로그램 은 블록 장치간주 되는 항목을 크게 변경했습니다. 에서 패키지 (다른 사람들) FDISK의 일부 버전 2.21 이 결정에는보고에 기초 디스크 구조 있는 동안 (5 월 2017)을 현재 버전 2.72.1 은 / proc / 파티션 출력 IS 파싱util-linux

과:

램 디스크는 오랜 시간 동안 커널에 있었다는 변경할 것을 FDISK의 동작이다.

위에서 언급 한 스레드에 대한 자세한 내용과 몇 가지 해결 방법 (화면의 램 디스크가 귀찮은 경우).


"자세한 내용 및 해결 방법"??? 어디 ???
ZEE

@Zee, AskUbuntu의 참조 스레드를 살펴보십시오. 심지어 fdisk 원본 소스에 대한 패치도 나열합니다.
Sopalajo de Arrierez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.