Как часто proc файловая система обновляется на Linux?

Другая альтернатива, которая не была упомянута, cpufrequtils, который я установил и использовал на своем ноутбуке с Debian 6. Это позволяет Вам изменять алгоритм (регулятор, в cpufrequtils терминология), что использование ядра для масштабирования тактовой частоты вверх и вниз в ответ на загрузку - в частности, userspace регулятор позволяет Вам блокировать частоту в чем-то вроде Вашего выбора (конечно, ЦП должен быть способен к выполнению на этой скорости).

Я использовал его для блокировки Atom на уровне 800 МГц вместо 1.6 ГГц, например. Это очень просто в использовании.

33
05.05.2013, 08:48
2 ответа

Информация, которую Вы читаете из proc файловой системы, не хранится ни на каких медиа (даже в RAM), таким образом, нет ничего для обновления.

Цель proc файловой системы состоит в том, чтобы позволить программам пространства пользователя получать или устанавливать данные ядра с помощью простой и знакомой семантики файловой системы (open, close, read, write, lseek), даже при том, что данные, которые считаны или записаны, не находятся ни на каких медиа. Это проектное решение считали лучше (например, человекочитаемое и легко scriptable) для получения и установки данных, формат которых не мог быть указан заранее, чем реализация, что-то, такая как ASN1 закодировало OIDs, который также будет хорошо работать.

Данные, которые Вы видите, когда Вы читаете из proc файловой системы, сгенерированы на лету, когда Вы делаете чтение с начала файла. Таким образом, выполнение чтения заставляет данные быть сгенерированными функцией обратного вызова ядра, которая характерна для файла, который Вы читаете. Выполнение lseek к началу файла и чтения снова вызывает другой вызов к обратному вызову, который генерирует данные снова. Точно так же, когда Вы пишете в перезаписываемый файл в proc файловой системе, функцию обратного вызова называют, который анализирует вход и устанавливает переменные ядра. Входные данные в он - необработанная форма, не хранится.

Вышеупомянутое является просто немного большим количеством подробного способа сказать что Hauke Отстающие состояния так кратко. Я предлагаю, чтобы Вы приняли его ответ.

46
27.01.2020, 19:37
  • 1
    При необходимости в доказательстве, что этот ответ верен, попытайтесь выполнить inotify на "файле" или каталоге в/proc (или/sys в этом отношении)... его слишком плохое, он сделал бы udev абсолютно ненужный, если Вы могли бы просто сказать простому процессу inotify выполнять x, когда что-то появляется в y –  technosaurus 05.05.2013, 06:42

Это обновляется на каждом доступе. Вы видите состояние ядра в тот момент. Вот почему размер, показанный для "файлов", не является реальным размером. Реальный размер может измениться и определяется момент, Вы получаете доступ к файлу.

Вы могли сказать, это не может быть обновлено в течение многих дней. Если Вы не смотрите на него.:-)

24
27.01.2020, 19:37
  • 1
    +1 редактирования. Это похоже на немного высказывание, "Если дерево падает в лесу, и никто не вокруг для слушания его, это делает звук?", т.е., "Если существует proc файловая система и никто не читает ее, она существует?". –  Jonathan Ben-Avraham 05.05.2013, 03:08
  • 2
    @JonathanBen-Avraham Вы могли сказать это о каждом FS, не так ли?:-) Но примите во внимание, что существует намного больше доступов к proc, чем можно было бы предположить. Прокомментируйте его в fstab, перезагрузке, и весь ад вырывается на свободу... –  Hauke Laging 05.05.2013, 03:20
  • 3
    То, что я имел в виду, было то, что данные в поддержанной медиа файловой системе существуют, даже когда никто не читает их ни в какой конкретный момент. Это не появляется во время чтения как proc и sys. Вы корректны, proc имеет много читателей. Однако sys является подобной файловой системой, которую можно прокомментировать из fstab, по крайней мере, в меньших системах и все еще выполнить хорошо.Удачи. –  Jonathan Ben-Avraham 05.05.2013, 03:27
  • 4
    Таким образом, кошка мертва или нет? Смотрите и посмотрите. Это - мертвый Jim. Плохая кошка. –  squareborg 05.05.2013, 10:22
  • 5
    @HaukeLaging я имею не /proc/ в моем fstab файле  –  Hi-Angel 24.02.2015, 14:55

Теги

Похожие вопросы