Забавно, вопрос решил.
Оказалось что проблема была в фукнции: "Chrome -> вернуться на прошлую страницу"
потоки пересоздаются, предупреждение о Callback function - тоже паропало.
Добрый день!
Обновил BAS, и через несколько дней заполнился диск, полез искать причину и оказалось что профили открытые в новой версии BAS стали весить в два раза больше:

Default\ - 18Мб (было 3Мб)
особенно Default\Cache\Cache_Data - весит 11 Мб (было 1,5 Мб)
Директории которых не было раньше в профиле:
GrShaderCache\ - весит 5 Мб
optimization_guide_model_store\ - 3,5 Мб
ShaderCache\ - 1,5 Мб
Итого размер профилей раздулся боле чем в два раза
при 20к профилей у меня уже не хватает терабайтного SSD
Подскажите как это отключить?
@saidufa Заметил, что в файле chrome_command_line.txt размер кэша перестали ограничивать 1 байтом (по умолчанию), вот кэш и записывается в профиль. Самое простое решение - замени в файле chrome_command_line.txt строку
--disk-cache-size=5000000
на --disk-cache-size=1
@nirvanius, Спасибо!
Отличия файла существенные, похоже проще всё прописать в скрипте в настройках браузера, как в предыдущей версии:
--disk-cache-size=1
--disable-features=GpuProcessHighPriorityWin,CookieDeprecationFacilitatedTesting,OptimizationGuideModelDownloading,ReportEcn
--lang=ru
--disable-auto-reload
--disable-gpu-program-cache
--disable-gpu-shader-disk-cache
остался вопрос: как теперь почистить КЕШ?
Неужели придется в каждом профиле, до его загрузки удалять эти директории?
Прикладываю скрипт который палит флаг --disk-cache-size=1
(async function checkCacheBehavior() {
const url = location.href.split("?")[0]; // Проверять на открытой УЖЕ открытой странице браузера, например https://www.google.com/, в которой кэш сайта загружен
console.log("🔍 Проверка кеша...");
// ↓ Отправляем первый запрос без кэша ↓//
const t1 = performance.now();
await fetch(url, { cache: "reload" });
const time1 = performance.now() - t1;
// ↓ Отправляем второй запрос с кэшем ↓ //
const t2 = performance.now();
await fetch(url, { cache: "force-cache" });
const time2 = performance.now() - t2;
console.log("⏳ Время загрузки без кеша:", time1.toFixed(2), "мс");
console.log("⚡ Время загрузки с кешем:", time2.toFixed(2), "мс");
if (time2 > 100) {
console.warn("❌ Похоже, что вы используете флаг --disk-cache-size=1.");
} else {
console.info("✅ Кэширование работает. Не удалось определить флаг --disk-cache-size=1 ");
}
})();
@saidufa Давненько было но я для себя делал и тут кто то выкладывал Скрипт.
Там просто шёл по папкам Профилей и удалял папки кеш и по новой их Пустые создавал уже.
Раньше правда и Профили другие были :)))
Но по сути как вариант так же, удаляя и создавая их снова ток пустые.
Это не Совет а так вот как варик, то что ХЗ что они там сейчас хранят в себе.
@saidufa said in Размер профиля после обновления BAS:
Неужели придется в каждом профиле, до его загрузки удалять эти директории?
Ну я удаляю после работы профиля, переключаюсь на временный профиль и чищу кэш)) и также в настройки вывел чистить/не чистить кэш. Перед целевым заходом кэш оставляю (на всякий пожарный)
@nirvanius, я не могу себе позволить удалять профиля - их почти терабайт, работа идет круглосуточно на нескольких серверах. Не всегда с одиними печеньками можно успешно зайти учетку, а при попытке авторизоваться по логин/паролю - просит СМС которое получить уже нереально
@nirvanius , спасибо за уточнение.
Такое решение было бы кстати если бы программа отрабатывала как нужно каждый раз, но не каждый поток у меня завершается штатно, может оборваться в любом месте программы
и если в конце программы я пропишу ваши манипуляции к кешем - не факт что до них дойдет дело.
Я понимаю что я не лучшим образом сделал программу раз не могу контролировать её на любом этапе, но что имею как говорится с тем и работаю)
попробую прописать чистку кеша (физическое удаление файлов) перед переключением на профиль, а то уже 97% диска осталось боюсь сегодня/завтра бас откажет переключатся на профили из-за нехватки места
@saidufa said in Размер профиля после обновления BAS:
Такое решение было бы кстати если бы программа отрабатывала как нужно каждый раз, но не каждый поток у меня завершается штатно, может оборваться в любом месте программы
Тут как вариант обернуть все действия скрипта в игнор ошибок, а в конце оставить очистку кэша. Тогда в любом случае очистка будет происходить
пользуясь случаем, хотел спросить про fingerprint.json в корне профиля: BAS загружает отпечаток из этого файла при каждой инициализации(применении) профиля? или если мы уже однажды применили отпечаток кубиком - можно этот файл снести, а отпечаток уже где-то будет прописан в файлах профиля?
@nirvanius said in Размер профиля после обновления BAS:
@saidufa так он и прописан в файлах профиля, а точнее в файле fingerprint.json ))) причем там в этом файле не только сам отпечаток, но и правила его применения. И да, это единственное место хранения отпечатка
Спасибо, я так и предполагал, но где-то в старых темах вычитал что его можно удалить после применения, поэтому и возник вопрос (надеялся на существенную экономия места, он почти полпрофиля занимает при размере профиля 15 мб он занимает 7-8 из них)
@nirvanius said in Размер профиля после обновления BAS:
@saidufa Заметил, что в файле chrome_command_line.txt размер кэша перестали ограничивать 1 байтом (по умолчанию), вот кэш и записывается в профиль. Самое простое решение - замени в файле chrome_command_line.txt строку
--disk-cache-size=5000000
на --disk-cache-size=1
Не надо так делать.