5

Я установил для HKEY_CURRENT_USER\Software\Policies\Google\Chrome\DiskCacheSize значение DWORD 0x2000000 (это 32 МБ), но когда я проверяю размер папки Cache в своем профиле, я вижу размер 282 МБ.

Почему это так? Это ошибка, или я не устанавливаю правильное значение в реестре?

1 ответ1

9

Изменить размер кэша Chrome

Размер кеша не фиксирован; скорее он может динамически меняться:

# 28 rvargas@chromium.org

Размер по умолчанию рассчитывается во время запуска и зависит от доступного дискового пространства в томе, где находится кэш.

Мы стараемся использовать, по крайней мере, 80 [МиБ], при этом размер будет медленно расти, пока не достигнет отметки около 320 [МиБ] (для свободных 32 [ГиБ]).

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

Источник: выпуск 96264 - хром - Реализация политики очистки кэша браузера при завершении работы

Поведение, описанное выше, все еще применяется с версии 35.0.1916.153 . Размер кэша также определяет максимальный размер кэшируемых файлов, который составляет 1/8 от общего объема в байтах. Все, что больше, не будет кешироваться на диске.

Chrome не позволяет изменять размер кеша через пользовательский интерфейс. Чтобы переопределить ограничение по умолчанию, вам нужно либо использовать определенный переключатель / флаг, либо включить параметр групповой политики.

Прежде чем продолжить, убедитесь, что очистили весь кеш, а затем закройте браузер. Чтобы проверить, были ли изменения применены успешно, вы можете использовать эту внутреннюю страницу впоследствии:

chrome://net-internals/#httpCache

Использование параметра командной строки

  1. Скопируйте ярлык приложения Google Chrome и вставьте его на рабочий стол.

  2. Щелкните правой кнопкой мыши на вставленном ярлыке и выберите « Свойства» в контекстном меню.

  3. Отредактируйте поле « Цель », добавив символ пробела и следующий переключатель в самом конце:

    --disk-cache-size=<amount in bytes>
    

    Например, чтобы установить ограничение 32 МБ (33554432 байта), конечная часть должна выглядеть следующим образом:

    chrome.exe --disk-cache-size=33554432
    
  4. Нажмите кнопку ОК, чтобы применить изменения. Всякий раз, когда вам нужно запустить Chrome, используйте измененный ярлык.

Через редактор групповой политики

Примечание . Следующие шаги применимы к Windows Vista и более поздним версиям. Поддерживаются только версии Business/Professional/Pro или выше.

  1. Войдите в систему с учетной записью администратора.

  2. Загрузите официальные шаблоны политики.

  3. Откройте архив загрузки (например, с помощью 7-Zip). Перейдите в папку windows и извлеките куда-нибудь папку admx .

  4. Папка admx содержит различные подпапки, названные по имени культуры, которые содержат строки локализации. Есть также файл chrome.admx который является фактическим шаблоном. Скопируйте его в папку PolicyDefinitions , которая обычно находится здесь:

     C:\Windows\PolicyDefinitions
    

    Затем скопируйте файл локализации chrome.adml соответствующего языка системы в соответствующем PolicyDefinitions вложенного.

  5. Запустите gpedit.msc .

  6. Перейдите к Конфигурации компьютера> Административные шаблоны> Google> Google Chrome .

  7. Дважды щелкните параметр « Задать размер дискового кэша в байтах» , включите его и выберите нужное количество. Нажмите ОК, когда вы закончите.

По крайней мере, Windows XP SP2.

Настраивает размер кэша, который Google Chrome будет использовать для хранения кэшированных файлов на диске.

Если вы установите эту политику, Google Chrome будет использовать предоставленный размер кэша независимо от того, задал ли пользователь флаг --disk-cache-size или нет. Значение, указанное в этой политике, является не жесткой границей, а скорее рекомендацией для системы кэширования, любое значение ниже нескольких мегабайт слишком мало и будет округлено до нормального минимума.

Если значение этой политики равно 0 , будет использоваться размер кэша по умолчанию, но пользователь не сможет его изменить.

Если эта политика не установлена, будет использоваться размер по умолчанию, и пользователь сможет переопределить его с помощью --disk-cache-size .

Источник: Список политик - Хромовые проекты

Дополнительная информация

Если папка кеша занимает больше места, чем сообщается, это означает, что остались некоторые остатки. Самый простой способ избавиться от них - закрыть браузер и вручную удалить все кэшированные файлы. Новый кеш будет создан при следующем запуске браузера.

Когда дело доходит до групповых политик, редактирование реестра вручную не поддерживается:

Примечание. Начиная с Chrome 28, политики загружаются непосредственно из API групповой политики в Windows. Политики, записанные вручную в реестр, будут игнорироваться. Смотрите http://crbug.com/259236 для деталей.

Начиная с Google Chrome 35, политики считываются непосредственно из реестра, если рабочая станция присоединена к домену Active Directory; в противном случае политики читаются из объекта групповой политики.

Источник: Список политик - Хромовые проекты

Это может быть подтверждено Process Monitor. Преднамеренно или нет, есть несколько исключений:

HKEY_CURRENT_USER\Software\Policies\Google\Chrome\MetricsReportingEnabled
HKEY_CURRENT_USER\Software\Policies\Google\Chrome\UserDataDir
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\MetricsReportingEnabled
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\UserDataDir
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\Update{8A69D345-D564-463c-AFF1-A69D9E530F96}
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\UpdateDefault
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Chrome\MetricsReportingEnabled
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Chrome\UserDataDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Update\Update{8A69D345-D564-463c-AFF1-A69D9E530F96}
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Update\UpdateDefault

Помимо основного HTTP-кэша, Chrome также использует другие папки, которые могут занимать дополнительное место:

Кэш-память может быть ограничена фиксированным количеством байтов либо с помощью переключателя, либо путем включения соответствующего параметра политики. Вы не можете реально ограничить кеш приложения или кеш шейдера GPU; Вы можете просто отключить их через переключатели. Там нет никакого способа настроить остальное.

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


Тестирование лимита кеша

Вот процедура, которой я следовал до запуска тестов ниже:

  1. Установите Chrome.
  2. Убедитесь, что том, на котором хранится папка Cache имеет более 32 ГБ свободного места.
  3. Задайте для домашней страницы about:blank чтобы предотвратить грязный кеш при запуске.
  4. Очистить все кэшированные изображения и файлы с начала времен.
  5. Закройте браузер.

Все показанные результаты относятся к Chrome версии 34.0.1847.137 работающему под управлением Windows 7 SP1 x86 (32-разрядная версия). Кэш очищался перед каждым тестом, и при использовании последней версии Chrome не было заметных различий в поведении кэша.

Пакетный скрипт

Для автоматизации тестов я создал пакетный скрипт:

@echo off
setlocal
setlocal enabledelayedexpansion

set exePath=%localappdata%\Google\Chrome\Application

if not "%~1" == "" (
start "%~n0" /d "%exePath%" "chrome.exe" "%~1"
pause >nul
)

pushd "%~dp0"
set /a counter=1

for /f "usebackq" %%G in (`findstr /i "^https*://" "samples.txt"`) do (
echo Load sample !counter!
start "%~n0" /d "%exePath%" "chrome.exe" "%%~G"
set /a counter += 1
pause >nul
)

popd
endlocal
pause & exit /b

Он имеет только один параметр, который используется для запуска Chrome с определенными флагами. Сценарий анализирует файл samples.txt , собирая все URL-адреса и открывая их по одному. Когда каждый образец завершит загрузку и рендеринг, нажмите любую клавишу, чтобы загрузить следующий. Возможно, потребуется изменить путь к исполняемому файлу.

Тест А1

Цель теста - проверить, является ли максимальный размер кэша истинной границей. Самый быстрый способ доказать это - загрузить веб-сайт, заполненный изображениями: если контента достаточно, вы должны быстро достичь предела кеша.

Флаги

Никто

образцы

http://www.tumblr.com/search/gif+1
http://www.tumblr.com/search/gif+2
http://www.tumblr.com/search/gif+3
http://www.tumblr.com/search/gif+4
http://www.tumblr.com/search/gif+5
http://www.tumblr.com/search/gif+6
http://www.tumblr.com/search/gif+7
http://www.tumblr.com/search/gif+8

Результаты

После загрузки сотен файлов размер кэша составил 334128469 байт (около 318,65 МБ). Счетчик обрезки был установлен на 0x15c , то есть более 300 самых старых записей были отброшены, чтобы освободить место для новых.

Cache type: Blockfile Cache
Create error: 0x0
Create hit: 0xa8
Create miss: 0x0
Current size: 334128469
Doom cache: 0x0
Doom entry: 0x3c
Doom recent entries: 0x0
Entries: 833
Fatal error: 0x0
Get rankings: 0x0
Invalid entry: 0x0
Last report: 0x2e5b3bec502446
Last report timer: 0x0
Max entries: 0x1a
Max size: 335544320
Open entries: 0x9
Open hit: 0x34
Open miss: 0xad
Open rankings: 0x39c68
Pending IO: 0
Read data: 0x4db
Resurrect hit: 0x2
Size00: 0x0000052f
Size01: 0x00000005
Size02: 0x00000017
Size03: 0x00000014
Size04: 0x00000002
Size05: 0x00000001
Size06: 0x00000004
Size07: 0x00000005
Size08: 0x00000002
Size09: 0x00000003
Size10: 0x00000004
Size11: 0x00000009
Size12: 0x0000001a
Size13: 0x00000019
Size14: 0x00000012
Size15: 0x00000006
Size16: 0x00000020
Size17: 0x00000013
Size18: 0x00000012
Size19: 0x00000032
Size20: 0x00000074
Size21: 0x00000083
Size22: 0x00000000
Size23: 0x00000000
Size24: 0x00000000
Size25: 0x00000000
Size26: 0x00000000
Size27: 0x00000000
Timer: 0xe
Trim entry: 0x15c
Write data: 0x4c171
unused: 0x0

Тест А2

Как и в тесте А1, с изюминкой: кеш ограничен 32 МБ.

Флаги

--disk-cache-size=33554432

образцы

То же, что тест А1.

Результаты

Общий объем кэша достиг 31,74 МБ. По сравнению с тестом А1, более жесткий лимит генерировал определенно меньше кэшированных записей и больше отброшенных.

Cache type: Blockfile Cache
Create error: 0x0
Create hit: 0xb6
Create miss: 0x0
Current size: 33280014
Doom cache: 0x0
Doom entry: 0x2f5
Doom recent entries: 0x0
Entries: 139
Fatal error: 0x0
Get rankings: 0x0
Invalid entry: 0x0
Last report: 0x2e5b3c19894813
Last report timer: 0x0
Max entries: 0x18
Max size: 33554432
Open entries: 0x9
Open hit: 0x4f
Open miss: 0xb9
Open rankings: 0x34e76
Pending IO: 0
Read data: 0x4d6
Resurrect hit: 0x1
Size00: 0x000000e5
Size01: 0x00000005
Size02: 0x00000010
Size03: 0x00000006
Size04: 0x00000000
Size05: 0x00000001
Size06: 0x00000003
Size07: 0x00000003
Size08: 0x00000001
Size09: 0x00000002
Size10: 0x00000002
Size11: 0x00000000
Size12: 0x00000002
Size13: 0x00000003
Size14: 0x00000001
Size15: 0x00000002
Size16: 0x00000006
Size17: 0x00000008
Size18: 0x00000002
Size19: 0x00000006
Size20: 0x00000010
Size21: 0x0000000a
Size22: 0x00000000
Size23: 0x00000000
Size24: 0x00000000
Size25: 0x00000000
Size26: 0x00000000
Size27: 0x00000000
Timer: 0xe
Trim entry: 0x2fc
Write data: 0x4239f
unused: 0x0

Тест B1

При уменьшении кеша до 32 МБ загружаются пять образцов изображений. Их размер варьируется от 16 МБ до 1 МБ каждый раз вдвое, минус 0,5% с учетом ошибок округления. Например, для поиска изображения размером 15,92 МиБ я использовал следующий поисковый запрос:

jpeg "file size 15.92 mb" site:wikimedia.org

Поскольку кэш-память установлена на 32 МБ, каждая запись ограничена 4 МБ.

Флаги

--disk-cache-size=33554432

образцы

http://upload.wikimedia.org/wikipedia/commons/b/ba/Langesund_og_Lang%C3%B8ya_01.jpg
http://upload.wikimedia.org/wikipedia/commons/9/9d/Balloons_of_Happiness.jpg
http://upload.wikimedia.org/wikipedia/commons/1/1e/Kannonzaki_01.jpg
http://upload.wikimedia.org/wikipedia/commons/5/51/Fraser_Ship_Yard_tug_boat%3B_Superior_WI_-b.jpg
http://upload.wikimedia.org/wikipedia/commons/4/46/Val%C3%A8ncia_micalet.jpg

Результаты

Из пяти образцов только три из них были фактически кэшированы.

Cache type: Blockfile Cache
Create error: 0x0
Create hit: 0x5
Create miss: 0x0
Current size: 7305845
Doom cache: 0x0
Doom entry: 0x2
Doom recent entries: 0x0
Entries: 3
Fatal error: 0x0
Get rankings: 0x0
Invalid entry: 0x0
Last report: 0x2e5b3c78282e93
Last report timer: 0x0
Max entries: 0x0
Max size: 33554432
Open entries: 0x0
Open hit: 0x0
Open miss: 0x5
Open rankings: 0xa
Pending IO: 0
Read data: 0x0
Resurrect hit: 0x0
Size00: 0x00000006
Size01: 0x00000000
Size02: 0x00000000
Size03: 0x00000000
Size04: 0x00000000
Size05: 0x00000000
Size06: 0x00000000
Size07: 0x00000000
Size08: 0x00000000
Size09: 0x00000000
Size10: 0x00000000
Size11: 0x00000000
Size12: 0x00000000
Size13: 0x00000000
Size14: 0x00000000
Size15: 0x00000000
Size16: 0x00000000
Size17: 0x00000000
Size18: 0x00000000
Size19: 0x00000000
Size20: 0x00000001
Size21: 0x00000001
Size22: 0x00000001
Size23: 0x00000002
Size24: 0x00000000
Size25: 0x00000000
Size26: 0x00000000
Size27: 0x00000000
Timer: 0x1
Trim entry: 0x0
Write data: 0x1e74
unused: 0x0

Тест В2

Аналогично тесту B1 без флагов кеширования.

Флаги

Никто

образцы

То же, что тест B1.

Результаты

В отличие от теста B1, все пять образцов были кэшированы. Размер кэша достиг 30,84 МБ, что было ожидаемой величиной.

Cache type: Blockfile Cache
Create error: 0x0
Create hit: 0x5
Create miss: 0x0
Current size: 32341906
Doom cache: 0x0
Doom entry: 0x0
Doom recent entries: 0x0
Entries: 5
Fatal error: 0x0
Get rankings: 0x0
Invalid entry: 0x0
Last report: 0x2e5b3c6aae7b97
Last report timer: 0x0
Max entries: 0x0
Max size: 335544320
Open entries: 0x0
Open hit: 0x0
Open miss: 0x5
Open rankings: 0x4
Pending IO: 0
Read data: 0x0
Resurrect hit: 0x0
Size00: 0x0000000a
Size01: 0x00000000
Size02: 0x00000000
Size03: 0x00000000
Size04: 0x00000000
Size05: 0x00000000
Size06: 0x00000000
Size07: 0x00000000
Size08: 0x00000000
Size09: 0x00000000
Size10: 0x00000000
Size11: 0x00000000
Size12: 0x00000000
Size13: 0x00000000
Size14: 0x00000000
Size15: 0x00000000
Size16: 0x00000000
Size17: 0x00000000
Size18: 0x00000000
Size19: 0x00000000
Size20: 0x00000001
Size21: 0x00000001
Size22: 0x00000001
Size23: 0x00000001
Size24: 0x00000001
Size25: 0x00000000
Size26: 0x00000000
Size27: 0x00000000
Timer: 0x1
Trim entry: 0x0
Write data: 0x2c6a
unused: 0x0

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