Почему размер / proc / stat отображается как ноль?

ls -rlth /proc/stat -r--r--r-- 1 root root 0 Feb 21 04:25 /proc/stat 

Хотя, если мы его cat него получилось достаточно содержимого. Любая помощь в отношении этого виртуального FS будет полезна.

3 Solutions collect form web for “Почему размер / proc / stat отображается как ноль?”

proc – виртуальная файловая система, отображающая имена файлов во внутренние структуры / переменные linux; поэтому он является нормальным / proc / stat с 0 байтами.

Материал из Википедии: procfs

Файловая система proc (procfs) является специальной файловой системой в Unix-подобных операционных системах, которая представляет информацию о процессах и другой системной информации в иерархической файловой структуре, предоставляя более удобный и стандартизованный метод динамического доступа к данным процесса, хранящимся в ядре, традиционные методы трассировки или прямой доступ к памяти ядра. Как правило, он отображается в точке монтирования с именем / proc во время загрузки. Файловая система proc действует как интерфейс для внутренних структур данных в ядре. Его можно использовать для получения информации о системе и изменения определенных параметров ядра во время выполнения (sysctl).

Иерархия файловой системы TLDP Linux: / proc

Наиболее отличительной особенностью файлов в этом каталоге является тот факт, что все они имеют размер файла 0, за исключением kcore, mtrr и self.

Примечание. Фактически, только mtrr и self являются 0 размером на моих серверах – kcore – это память, которую вы можете адресовать, т.е. адреса виртуальной памяти ядра, следовательно, 128 ТБ. Также актуальным для этого обсуждения является / proc / kcore, который не реализуется в архитектурах MIPS и ARM.

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

Некоторые файлы /proc могут иметь нулевой размер, потому что они известны заранее.

  /proc/kcore This file represents the physical memory of the system and is stored in the ELF core file for- mat. With this pseudo-file, and an unstripped kernel (/usr/src/linux/vmlinux) binary, GDB can be used to examine the current state of any kernel data structures. The total length of the file is the size of physical memory (RAM) plus 4KB. 

Однако, учитывая тот факт, что у меня на компьютере нет 128 ТБ ОЗУ, сообщенное значение и размер, который может быть прочитан, не соответствуют документации:

 $ ls -lh /proc/kcore -r--------. 1 root root 128T Feb 23 16:10 /proc/kcore 

/proc – специальная файловая система. Это не то, что вы храните в файлах. Это виртуальная файловая система, я знаю, что это не правильная аналогия, но рассмотрите ее как драйвер устройства в каталоге /dev . То, что вы пишете в файлы в /dev каким-то образом переходит к системе. Аналогично, когда вы читаете файл, он извлекает эти значения из системы. Следовательно, поскольку в этих файлах нет фактической сохраненной информации, размер отображается как ноль.

  • Команда не найдена проблема в терминале Linux-Ubuntu
  • Как изменить размеры разделов и файловых систем на них?
  • Как понимать понятия файловой системы, используемые encfs?
  • Невозможно получить доступ к файлам Manjaro Linux
  • Как пометить все, что хранится в файловой системе Linux?
  • Как настроить Linux для кэширования метаданных файлов в соответствии с содержанием?
  • Можно ли сделать символическую ссылку файла на другой машине?
  • Какие журналы будут записаны, если файловая система заполнена в UNIX?
  • Как хранятся и сохраняются расширенные атрибуты?
  • Определение точности временной метки файловой системы
  • Изменение размера раздела после изображения с помощью dd на другой диск
  • Linux и Unix - лучшая ОС в мире.