22. Налаштування, стан і активність¶
Work in progress
StudioFS зазвичай працює у фоновому режимі: ви відкриваєте файли, а він читає дані, зберігає їх у кеші й передає зміни. Але інколи хочеться зрозуміти, що зараз відбувається, чи вистачає місця і чому вчора той самий кліп відкривався швидше.
Для цього є три команди: settings показує збережені налаштування, status — стан конкретного тому, а perf — активність підключеного диска з часом. Значок у системному треї або в рядку меню допомагає стежити за синхронізацією без відкритого термінала. Розберімося, яке запитання ставити кожній із них.
Налаштування: що збережено для наступного підключення¶
Почніть із команди:
studiofs settings
Вона показує стандартну точку підключення, каталог і розмір кешу, а також параметри читання. Позначка <unset> означає, що відповідне значення не збережене. Без окремого налаштування бюджет дискового кешу становить 100 GB; політику роботи з цим бюджетом StudioFS обирає автоматично.
settings показує збережені значення для наступних запусків mount, а не повну конфігурацію вже підключеного диска. Наприклад, під час підключення ви могли явно вказати інший розмір кешу.
Припустімо, ви вирішили відвести під кеш 200 ГБ на локальному SSD. У Windows це може виглядати так:
studiofs settings --cache-dir "D:\StudioFS-cache" --cache-size 200GB
На macOS або Linux виберіть свій локальний каталог, наприклад:
studiofs settings --cache-dir "$HOME/StudioFS-cache" --cache-size 200GB
Команда зберігає налаштування у config.toml і друкує шлях до нього. Зазвичай це:
| Система | Файл налаштувань |
|---|---|
| Windows | %APPDATA%\studiofs\config.toml |
| macOS | ~/Library/Application Support/studiofs/config.toml |
| Linux | ~/.config/studiofs/config.toml |
Зміна значень не переналаштовує чинне підключення й не переносить старий кеш у новий каталог. Щоб застосувати їх, завершіть роботу з файлами та перемонтуйте том.
Для каталогу й розміру кешу явні параметри mount мають пріоритет над збереженими значеннями, а ті — над стандартними. Якщо каталог не задано, StudioFS використовує <meta-dir>/cache, зазвичай у ~/.studiofs/meta/<назва-тому>/cache. Усередині базового каталогу кеш кожного тому розміщується окремо за UUID.
На macOS і Linux можна також зберегти стандартну точку підключення:
studiofs settings --mount-point /mnt/studio
Дисковий кеш і пам’ять — різні ресурси¶
Більший кеш допомагає повторно відкривати вже прочитані матеріали без повторного завантаження. Він також бере участь у локальній роботі із записаними даними. Проте --cache-size не збільшує місткість самого тому і не резервує весь зазначений обсяг на диску наперед. Залишайте вільне місце для операційної системи, програм і їхніх тимчасових файлів. SSD, забитий під зав’язку, рідко стає швидшим від нашого оптимізму.
Стан тому: знімок, який треба читати разом із попередженнями¶
У прикладах projectfs — назва вашого тому:
studiofs status projectfs
studiofs status projectfs --verbose
Залежно від доступності локальної бази та діагностики підключеного процесу команда показує відомості про том, метадані, кеш і синхронізацію. --verbose додає докладні показники шляху запису, якщо вони доступні. Підключений процес може тримати локальну базу відкритою; у такому разі команда може показати попередження про блокування й доступну діагностику цього процесу замість повного звіту. Саме таке попередження ще не доводить пошкодження бази.
Якщо ви використовуєте власний каталог кешу, передайте той самий базовий каталог, що й під час підключення:
studiofs status projectfs --cache-dir "D:\StudioFS-cache" --verbose
Якщо не вказати --cache-dir, команда status шукає кеш у <meta-dir>/cache, навіть коли в settings збережено інший шлях. Не додавайте UUID до параметра: команда сама знаходить каталог тому.
У розділі Local Cache корисно розрізняти такі поля:
Usage bytes— обсяг локальних даних, зарахований до кешу.Dirty bytes— обсяг даних із незавершеними локальними змінами.Evictable bytes— обсяг даних, які кеш може витісняти.Pending uploads— кількість локальних об’єктів, що очікують передавання, а не кількість файлів вашого проєкту.
Runtime readiness: ready у цьому розділі стосується локальної структури кешу. Це не підтвердження, що всі зміни вже передані в S3, що інший комп’ютер їх отримав або що можна вимикати живлення. Так само Reconcile needed: no не є загальним сертифікатом синхронізації.
Читайте попередження разом із числами. Якщо індекс кешу недоступний або заблокований, підрахунок може не вдатися; зокрема, після попередження про неможливість обчислити чергу команда може надрукувати Pending uploads: 0. Це не доказ порожньої черги. unknown, unavailable і застарілий знімок означають нестачу достовірних даних.
Коли доступний розділ PostgreSQL Sync, він допомагає побачити перебіг застосування метаданих, час від останньої успішної синхронізації та помилки. Завершення одного етапу наздоганяння метаданих саме по собі не підтверджує передавання всього вмісту файлів.
Активність: що змінюється просто зараз¶
Команда perf працює з точкою підключення, а не з назвою тому. У Windows:
studiofs perf Z: --interval 1000 --count 10
Для macOS або Linux передайте фактичний шлях підключеного тому:
studiofs perf /mnt/studio/projectfs --interval 1000 --count 10
Інтервал задається в мілісекундах; у цьому прикладі команда виконає десять вимірювань із кроком близько секунди. Без --count перегляд триває до переривання через Ctrl+C. Це зупиняє спостереження, а не відключає диск.
У таблиці є показники використання ресурсів, файлових операцій, метаданих, кешу й об’єктного сховища. Поспостерігайте за ними спочатку під час простою, а потім під час відкриття великого кліпу та його повторного відкриття. Під час першого читання дані можуть завантажуватися із S3, а під час повторного — використовуватися вже отримані дані. Кеш операційної системи теж впливає на результат, тож одна швидка спроба ще не доводить, що ви знайшли ідеальні налаштування.
Для докладнішого спостереження використовуйте --verbosity verbose. Зверніть увагу: це параметр зі значенням, а не прапорець --verbose, як у status. Щоб записати короткий звіт для діагностики:
studiofs perf Z: --interval 1000 --count 10 --json-lines > studiofs-perf.jsonl
--json-lines записує окремий JSON-рядок для кожного вимірювання. Варіант --json формує один масив і потребує --count. Якщо статистика недоступна, перевірте, що вказано саме підключений диск StudioFS; повідомлення про недоступні показники не означає нульове навантаження.
Значок синхронізації: зручно, але читайте підказку¶
StudioFS автоматично намагається показати індикатор у системному треї Windows і Linux або в рядку меню macOS. Його видимість залежить від графічного середовища; окремого параметра для ввімкнення не потрібно. Якщо індикатора немає, користуйтеся доступними показниками командного рядка.
Червона пульсація означає, що прийняті цим підключенням зміни ще синхронізуються. Причиною можуть бути записані дані, підготовка або повторне завантаження, публікація версії файлу чи підтвердження метаданих. Завершення передавання одного об’єкта ще не означає, що всю роботу завершено.
Анімований синьо-жовтий прапор з’являється, коли свіжа перевірка підтвердила віддалене завершення прийнятих цим підключенням даних і метаданих. Звичайне читання та попереднє завантаження самі по собі не означають наявності ваших вихідних змін. Під час запуску, якщо діагностика недоступна або її дані застаріли, індикатор не може підтвердити завершення; наведіть курсор і прочитайте підказку.
Навіть повідомлення safe to shut down описує момент перевірки. Відкрита програма може одразу записати ще щось. Перед вимкненням закрийте програми, що працюють із томом, і виконайте звичайне відключення. Прапор не замінює цю процедуру й не доводить, що інший комп’ютер уже застосував зміни у своєму локальному стані.
Коли варто втрутитися¶
Під час копіювання великого матеріалу зростання черги й червона пульсація очікувані. Після завершення запису та за доступної мережі передавання має поступово просуватися. Оцінюйте кілька спостережень: одна цифра не показує напрямку руху.
Якщо після припинення запису черга довго не зменшується, повторюються помилки або бракує місця, перевірте вільний простір на диску кешу, доступ до мережі й VPN, а також доступність S3 і PostgreSQL. Запишіть час проблеми та дію, яка її спричинила, і збережіть доступний звіт status --verbose або короткий запис perf. Перед передаванням звітів іншим перевірте, чи немає в них приватних адрес і шляхів.
Не лікуйте незрозумілий стан видаленням кешу або повторним створенням тому. Спочатку з’ясуйте, що саме зупинилося: читання, передавання даних чи синхронізація метаданих. Це значно корисніше, ніж одразу збільшити всі числа в налаштуваннях.
Зміст · English · ← Попередня · Наступна →