5

Я использую Fedora 20 Я получил следующий вывод для $df -h

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/fedora-root   11G  8.0G  2.1G  80% /
devtmpfs                 3.5G     0  3.5G   0% /dev
tmpfs                    3.5G   76K  3.5G   1% /dev/shm
tmpfs                    3.5G  676K  3.5G   1% /run
tmpfs                    3.5G     0  3.5G   0% /sys/fs/cgroup
tmpfs                    3.5G  164K  3.5G   1% /tmp
/dev/sda1                477M   90M  358M  20% /boot
/dev/mapper/fedora-home   45G   26G   17G  60% /home
none                     224G  114G  111G  51% /media/sf_VBShared

Я не знаю, почему так мало tmpfs и devtmpfs . И почему они здесь? Могу ли я удалить их и вернуть их дисковое пространство?

3 ответа3

5

В комментарии и другом ответе учтены ваши неправильные представления о tmpfs. Здесь я собираюсь обратиться

Почему они здесь?
а также
Могу ли я удалить их?
как спросил.

Все это в сленге systemd - файловые системы API. Они имеют основополагающее значение для работы системы на основе systemd, и программа systemd монтирует их при инициализации системы, прежде чем она сделает что-то еще. system-manager из nosh делает то же самое, за исключением (в настоящее время) /sys/fs/cgroup и /tmp .

/dev/shm

В (только) операционных системах Debian Linux это на самом деле /run/shm . Эта команда tmpfs предназначена для реализации общей памяти POSIX в вашей операционной системе. Его удаление приведет к сбою приложений, использующих общую память POSIX.

/sys/fs/cgroup

Именно здесь systemd (и другие) монтируют различные иерархии элементов управления группы управления, доступные в вашей операционной системе. Удаление его остановит работу частей вашей операционной системы, которые зависят от групп управления.

/tmp

Это, конечно же, место, где пользователи ожидают, что смогут хранить временные временные файлы. Удаление этого сделает значительное количество приложений, которые используют временные файлы, весьма несчастным.

/run

Раньше это был /var/run . Это место, где (определенные виды) временных файлов могут храниться до следующей загрузки системы. Здесь вы найдете множество файлов PID, системный непостоянный журнал, сокеты домена UNIX, FIFO и другие подобные вещи. Удаление его заставит системный журнал плакать; нарушить (ошибочно) управление удручающе большим количеством демонов, которые до сих пор даже сегодня используют файлы PID; и уничтожить udev, системную «многопользовательскую» систему и целый ряд других подсистем.

В системе nosh его удаление аналогично разрушит все те же подсистемы с их FIFO и сокетами. Это также нарушит управляющий API-интерфейс менеджера сервисов, связанный с ним регистратор сервис-менеджеров и API-интерфейсы управления / состояния любых демонов "раннего наблюдения".

/dev

Именно здесь обычно все файлы устройств для символьных и блочных устройств хранятся в Unices и в Linux. Многие программы и подсистемы ожидают, что обычные имена, такие как /dev/tty , /dev/null , /dev/zero , /dev/console , /dev/fd/0 , /dev/sda и т.д., Будут работать. Удаление этого сломает так много вашей системы, что я сомневаюсь, что она будет вообще пригодна для использования. Это скорее devtmpfs , чем tmpfs . Разница в том, что первый автоматически заполняется и удаляется с помощью записей файлов устройств самим ядром, так как устройства загружаются / включаются и отключаются / выгружаются в ядре.

дальнейшее чтение

0

tmpfs - это короткий (своего рода) виртуальный диск. Идея состоит не в том, чтобы убирать жесткий диск с небольшими временными данными, в настоящее время эта память больше не является премией с дополнительным бонусом скорости от блочного устройства на базе оперативной памяти.

Вскоре вы можете прочитать, например, http://en.wikipedia.org/wiki/Tmpfs

Цитировать из статьи

Все, что хранится в tmpfs, является временным в том смысле, что на жестком диске не будет создано никаких файлов; однако пространство подкачки используется в качестве резервного хранилища в случае нехватки памяти. При перезагрузке все в tmpfs будет потеряно.

Объем памяти, используемой tmpfs, увеличивается и уменьшается для размещения содержащихся в ней файлов и может быть заменен для замены пространства.

-1

Если вы хотите понять, что такое tmpfs, я бы посоветовал сначала проверить kernel.org(ссылка внизу).

Tmpfs - это файловая система, которая хранит все файлы в виртуальной памяти (физическая память + подкачка). Это согласно документации: если экземпляр tmpfs удален, то все, что в нем хранится, будет потеряно.

Если вы попытаетесь принудительно размонтировать fs при монтировании, система не должна позволять вам, как видно из приведенного ниже примера, файлы, хранящиеся в /dev /shm, принадлежат ОС, что означает, что это приведет к сбою процессов, использующих этот ресурс. В качестве альтернативы комментировать строки из /etc /fstab не является хорошей идеей, потому что виртуальные файловые системы, такие как procfs или sysfs, не могли работать должным образом или даже монтироваться.

[root@client ~]# mount |egrep tmpfs
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
[root@client ~]# for pid in $(fuser -m /dev/shm 2>/dev/null|sed "s/m//g");do echo $pid--;pstree -p $pid ;done
2194--
gnome-settings-(2194)───{gnome-settings}(2197)
2210--
metacity(2210)───{metacity}(11132)
2253--
pulseaudio(2253)─┬─gconf-helper(2263)
                 ├─{pulseaudio}(2260)
                 └─{pulseaudio}(2262)
2264--
gnome-volume-co(2264)
2267--
gpk-update-icon(2267)───{gpk-update-ico}(2870)

Ядро - tmpfs

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .