1

В настоящее время я использую 4 ГБ ОЗУ в качестве RAM-кеша, используя FancyCache, он кеширует мой SSD. Он очень хорошо работает с играми, так как время загрузки практически равно нулю, также хорошо работает с пакетом Adobe. Это также уменьшает использование моего SSD, и это хорошо.

Всего у меня 16 ГБ ОЗУ, и мой вопрос: вы бы сказали, что было бы полезно получить 16 ГБ дополнительной ОЗУ и использовать ее для FancyCache?

Спасибо! (Я понимаю, что этот вопрос не очень проблемный, и если это не тот форум, извиняюсь)

Спецификация моего компьютера: Asus P9X79 Deluxe, i7 3930K @ 4,3 ГГц, Corsair Vengence LP 4x4 ГБ, Samsung SSD 830 256 ГБ, Win 7 Pro x64

2 ответа2

1

На данный момент (май 2012 года) я бы сказал, что получение дополнительных 16 ГБ или ОЗУ для использования в FancyCache было бы хорошо потрачено. Если вы играете в несколько разных игр в дополнение к большим приложениям, у вас не должно возникнуть проблем с заполнением 16 ГБ кеша. 16 ГБ дополнительной оперативной памяти - не слишком большая инвестиция, и она обеспечит быструю и отзывчивую работу вашей системы при переключении между большими приложениями и играми.

1

Я получил 48 ГБ ОЗУ (платформа X58 с флешками 6x8 ГБ) и выделил 16 ГБ для FancyCache под Win7. FancyCache поставляется со встроенным мониторингом. Мониторинг использования - безусловно, самая важная вещь, которую вы можете сделать, чтобы сделать это определение.

Я использую это поле для взлома паролей с помощью больших словарей (~ 400 ГБ), поэтому я надеялся сохранить в ОЗУ некоторые из наиболее часто используемых словарей. К моему удивлению, из-за того, как были настроены мои скрипты, я зацикливался на одном и том же наборе хэшей с разными словарями, эффективно «загрязняя» свой кеш, постоянно читая новые словари. В результате мой коэффициент попадания в кэш был ужасно плохим (примерно 0,1%). Так что я перевернул порядок так:

от

for hash in hashes; 
   for dict in dicts; 
      crack hash with dict

в

for dict in dicts; 
   for hash in hashes;
      crack hash with dict`  

Таким образом, только что прочитанный словарь остается в памяти для следующего набора хэшей, и следующее чтение происходит из ОЗУ, а не с диска.
Этот небольшой переворот разбудил кэш чтения, так как теперь он составляет в среднем около 80%. Это одно наблюдение было на вес золота.
Кроме того, ограничение FancyCache для работы только на дисках с данными, которые, как вы знаете, будут иметь большой объем операций ввода-вывода, и не полагаться на ОС, чтобы выяснить это, также весьма полезно.

Вторым лучшим, что я сделал, было наблюдение за поведением кэширования записи. Оказывается, некоторые программы воспроизводят это безопасно и стараются выкидывать данные после каждого небольшого шанса, вместо того, чтобы объединять множественные записи в менее частые, но большие записи. Когда это было сделано полностью синхронно, это приводило к тому, что программа блокировалась до завершения записи. У меня ящик с ИБП, поэтому мне не нужно беспокоиться о сбоях до того, как кэш записи завершит обратную запись. Это очень помогло с сырой производительностью моей основной программы, но также заметно помогло с гладкостью системы, так как система не остановилась бы каждый раз, когда кэш записи был занят загрузкой грязных буферов на диск. Конечно, без ИБП (или батареи, если это ноутбук), это был бы опасный сценарий.

Все это приводит к фундаментальной проблеме CS, если размер «рабочего набора». Если вы работаете с одним файлом 4 ГБ, то, вероятно, чуть больше 4 ГБ подойдет (если приложение не попытается сохранить несколько уровней отмен в памяти). Нет смысла выделять память для FancyCache, если вы на самом деле ее не используете. Если у вас около 100%, увеличьте его, но если у вас 2%, то вы просто тратите ОЗУ.

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