Jawaban:
Ini sangat normal pada sistem Linux. Ini semacam tindakan persiapan untuk kasus bahwa disk RAM harus diperlukan. Masing-masing memiliki ukuran 64 MiB, nilai yang sangat rendah. Jika perlu, ukuran akan meningkat secara otomatis.
Mengapa tiba-tiba 16 disk RAM tersedia di Wily, hanya bisa dijelaskan dengan susah payah.
Saya telah menguji disk RAM default pada:
Driver disk RAM adalah cara untuk menggunakan memori sistem utama sebagai perangkat blok. Ini diperlukan untuk initrd, sistem file awal yang digunakan jika Anda perlu memuat modul untuk mengakses sistem file root (lihat Dokumentasi / initrd.txt). Itu juga dapat digunakan untuk sistem file sementara untuk pekerjaan kripto, karena konten dihapus saat reboot.
Disk RAM tumbuh secara dinamis karena dibutuhkan lebih banyak ruang. Ini dilakukan dengan menggunakan RAM dari cache buffer. Driver menandai buffer yang digunakan sebagai kotor sehingga subsistem VM tidak mencoba untuk mengklaimnya kembali nanti.
Disk RAM mendukung hingga 16 disk RAM secara default, dan dapat dikonfigurasi ulang untuk mendukung jumlah disk RAM yang tidak terbatas (dengan risiko Anda sendiri). Cukup ubah simbol konfigurasi BLK_DEV_RAM_COUNT di menu konfigurasi Blokir dan (re) bangun kernel.
Tidak tahu mengapa fdisk tiba-tiba melaporkan / dev / ram.
Namun Anda dapat memberi tahu fdisk untuk hanya melaporkan perangkat tertentu.
fdisk -l /dev/sd*
Akan mencantumkan drive nyata.
Atau Anda juga bisa menggunakan parted dan lsblk.
Keluaran sebagian untuk satu drive di sini.
Model: ATA Samsung SSD 840 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2096kB 120GB 120GB extended boot
7 2097kB 26.2GB 26.2GB logical ext4
5 26.2GB 36.7GB 10.5GB logical ext4
6 36.7GB 47.2GB 10.5GB logical ext4
Output lsblk yang sesuai
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 1K 0 part
├─sda5 8:5 0 9.8G 0 part /mnt/Links
├─sda6 8:6 0 9.8G 0 part
└─sda7 8:7 0 24.4G 0 part /
Saya tahu utas ini sudah lama, tetapi saya baru saja menemukannya. Setelah menginstal Slackware 14.2, saya mendapatkan 16 disk RAM yang sama di output
fdisk -l
. Saya menyelidiki sedikit lebih jauh dan menemukan bahwa dalam paket 'util-linux', yang merupakan bagian dari fdisk, antara lain, pemilihan apa yang dianggap fdisk sebagai perangkat blok berubah secara substansial. Dalam paket util-linux versi 2.21 keputusan ini didasarkan pada geometri disk yang dilaporkan sementara dalam versi saat ini 2.72 output dari / proc / partisi diuraikan. Menurut pencarian saya di internet ramdisks telah ada di Linux sejak kernel 2.4, fdisk tidak menunjukkannya. Karena saya terganggu dengan daftar banyak "disk", yang bukan disk asli, saya membuat patch untuk fdisk:
diff -Nur util-linux-2.27.1_ori/disk-utils/fdisk-list.c util-linux-2.27.1_fdisk-no-ram-disks/disk-utils/fdisk-list.c
--- util-linux-2.27.1_ori/disk-utils/fdisk-list.c 2015-10-06 08:59:51.572589724 +0200
+++ util-linux-2.27.1_fdisk-no-ram-disks/disk-utils/fdisk-list.c 2016-08-16 15:55:14.840952091 +0200
@@ -312,6 +312,10 @@
if (devno <= 0)
continue;
+ /* dont list RAM disks */
+ if (strstr(line, "ram") && devno >= 256)
+ continue;
+
if (sysfs_devno_is_lvm_private(devno) ||
sysfs_devno_is_wholedisk(devno) <= 0)
continue;
Mungkin ini membantu beberapa orang lain ...
Pos oleh Johannes benar. Ram-disk sudah ada di kernel sejak lama, itu adalah perilaku fdisk yang berubah. Alih-alih menambal fdisk, saya menulis skrip perl sederhana (5 baris kode, 6 baris komentar) untuk menangani masalah ini. Saya memasukkannya ke dalam ~/bin/fdisk-l
, dan sekarang saya hanya ingat untuk tidak memberi jarak di antara keduanyafdisk
dan -l
.
#! /usr/bin/perl -w
# Run fdisk -l and filter out the 16 /dev/ram devices.
# Sun Mar 5 16:13:45 2017. Jeff Norden, jeff(at)math.tntech.edu
$_=`sudo fdisk -l`; #include sudo we don't have to be root
# weed out ram disks. The seemingly contradictory s (single) and m (multiline)
# flags allow "." to match "\n" and "^" to match at all beginning-of-lines.
s|^Disk /dev/ram.*?\n\n\n||smg;
# Do better than blank lines separating devices. Handle odd cases when there
# are more than two blank lines between devices or none at the end.
$hrule= '='x60 . "\n";
s/(\n\n\n+)|(\n+$)/\n$hrule/g;
print($hrule, $_);
Pada April 2017, ram disk tidak lagi muncul secara default dengan kernel Ubuntu saat ini, sehingga masalah ini teratasi. Lihat: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1593293
Perilaku ini diatur oleh opsi kernel yang hanya dapat Anda ubah dengan mengkompilasi ulang kernel khusus. Anda dapat mengubah ukuran perangkat ram * menggunakan parameter GRUB ramdisk_size tetapi tidak menghitungnya. Ini tidak berguna, karena walaupun Anda memiliki banyak memori setiap ramdisk akan bertambah hingga ukuran apa pun yang Anda atur. Jadi misalnya jika Anda menginginkan ramdisk 8GB - yang saya lakukan, lihat di bawah - Anda akan mendapatkan instance 16x 8GB. Saya tidak tahu apakah ini tidak berbahaya jika Anda tidak menggunakan sebagian besar dari mereka, tapi saya enggan untuk merusak sistem saya jika tidak.
Saya ingin menggunakan perangkat 8GB / dev / ram untuk mirror dengan partisi hard disk 8GB untuk tujuan spesifik menempatkan area hot disk di atasnya. Aplikasi saya akan secara otomatis menulis blok ke penyimpanan reguler berdasarkan ruang kosong, jadi tidak masalah kecil.
Dengan write-behind di bawah mdadm, ini seharusnya memiliki efek membuat tulisan menyala sangat cepat jika mereka bursty, dengan sisi HDD cermin mengejar ketika hal-hal lebih tenang untuk menyediakan setidaknya beberapa perlindungan data. Saya telah menggunakan pengaturan ini dengan Solaris, tetapi sepertinya tidak mungkin dengan Linux karena keluar dari kotak.
Karena RAM lebih cepat dari SSD, ini seharusnya menang, tapi saya tidak bisa mencobanya. Seperti yang orang lain perhatikan, jika Anda membangun RAID1 dengan tmpfs, itu tidak akan dipasang kembali saat boot karena langkah yang menginisialisasi tmpfs sudah sangat terlambat dalam proses boot - di mountall. Mds Anda baik dan benar-benar dibangun pada saat itu, sehingga gagal, dan Anda harus membangunnya kembali secara manual.
Perangkat OTOH / dev / ram * akan sempurna untuk ini - jika Anda dapat mengonfigurasinya. Mereka adalah hal pertama yang diatur, dan ram0 adalah sistem awal / filesystem.