iryston / macos_ramdisk_setup.sh
#! /bin/bash |
# # Read and edit this file. |
# # Run it once as a root. |
FILE= » /Library/Scripts/ramdisk.sh « |
if [[ $EUID -ne 0 ]] ; then |
echo » You must be a root user » 2>&1 |
exit 1 |
else |
cat > » $FILE » ‘ EOF ‘ |
#!/bin/bash |
# Size at the end is * 2048 where 2048 = 1 MB, so 8388608 = 4096 MB |
if ! test -e «/Volumes/RAMD»; then |
diskutil erasevolume HFS+ «RAMD» `hdiutil attach -nobrowse -nomount ram://8388608` |
fi |
CACHEDIR=»/Volumes/RAMD/.Cache» |
if test -e «/Volumes/RAMD»; then |
# Create CacheDir |
mkdir -p «$CACHEDIR» |
# Google Chrome Cache |
mkdir -p «$CACHEDIR/GoogleChrome/com.google.Chrome» |
mkdir -p «$CACHEDIR/GoogleChrome/Default» |
mkdir -p «$CACHEDIR/GoogleChrome/Service Worker/CacheStorage» |
mkdir -p «$CACHEDIR/GoogleChrome/Service Worker/ScriptCache» |
if [ ! -L «$HOME/Library/Caches/com.google.Chrome» ] |
then |
rm -rf «$HOME/Library/Caches/com.google.Chrome» |
ln -s «$CACHEDIR/GoogleChrome/com.google.Chrome» «$HOME/Library/Caches/com.google.Chrome» |
fi |
if [ ! -L «$HOME/Library/Caches/Google/Chrome/Default» ] |
then |
rm -rf «$HOME/Library/Caches/Google/Chrome/Default» |
ln -s «$CACHEDIR/GoogleChrome/Default» «$HOME/Library/Caches/Google/Chrome/Default» |
fi |
if [ ! -L «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage» ] |
then |
rm -rf «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage» |
ln -s «$CACHEDIR/GoogleChrome/Service Worker/CacheStorage» «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage» |
fi |
if [ ! -L «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache» ] |
then |
rm -rf «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache» |
ln -s «$CACHEDIR/GoogleChrome/Service Worker/ScriptCache» «$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache» |
fi |
# Chromium Cache |
mkdir -p «$CACHEDIR/Chromium/Default» |
mkdir -p «$CACHEDIR/Chromium/Service Worker/CacheStorage» |
mkdir -p «$CACHEDIR/Chromium/Service Worker/ScriptCache» |
if [ ! -L «$HOME/Library/Caches/Chromium/Default» ] |
then |
rm -rf «$HOME/Library/Caches/Chromium/Default» |
ln -s «$CACHEDIR/Chromium/Default» «$HOME/Library/Caches/Chromium/Default» |
fi |
if [ ! -L «$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage» ] |
then |
rm -rf «$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage» |
ln -s «$CACHEDIR/Chromium/Service Worker/CacheStorage» «$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage» |
fi |
if [ ! -L «$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache» ] |
then |
rm -rf «$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache» |
ln -s «$CACHEDIR/Chromium/Service Worker/ScriptCache» «$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache» |
fi |
# Opera Cache |
mkdir -p «$CACHEDIR/Opera/com.operasoftware.Opera» |
if [ ! -L «$HOME/Library/Caches/com.operasoftware.Opera» ] |
then |
rm -rf «$HOME/Library/Caches/com.operasoftware.Opera» |
ln -s «$CACHEDIR/Opera/com.operasoftware.Opera» «$HOME/Library/Caches/com.operasoftware.Opera» |
fi |
# Safari Cache |
mkdir -p «$CACHEDIR/Safari/com.apple.Safari» |
mkdir -p «$CACHEDIR/Safari/com.apple.Safari.SafeBrowsing» |
if [ ! -L «$HOME/Library/Caches/com.apple.Safari» ] |
then |
rm -rf «$HOME/Library/Caches/com.apple.Safari» |
ln -s «$CACHEDIR/Safari/com.apple.Safari» «$HOME/Library/Caches/com.apple.Safari» |
fi |
if [ ! -L «$HOME/Library/Caches/com.apple.Safari.SafeBrowsing» ] |
then |
rm -rf «$HOME/Library/Caches/com.apple.Safari.SafeBrowsing» |
ln -s «$CACHEDIR/Safari/com.apple.Safari.SafeBrowsing» «$HOME/Library/Caches/com.apple.Safari.SafeBrowsing» |
fi |
# Apple Music Cache |
mkdir -p «$CACHEDIR/com.apple.Music» |
if [ ! -L «$HOME/Library/Caches/com.apple.Music» ] |
then |
rm -rf «$HOME/Library/Caches/com.apple.Music» |
ln -s «$CACHEDIR/com.apple.Music» «$HOME/Library/Caches/com.apple.Music» |
fi |
# Spotify Cache |
mkdir -p «$CACHEDIR/Spotify/com.spotify.client» |
mkdir -p «$CACHEDIR/Spotify/PersistentCache» |
if [ ! -L «$HOME/Library/Caches/com.spotify.client» ] |
then |
rm -rf «$HOME/Library/Caches/com.spotify.client» |
ln -s «$CACHEDIR/Spotify/com.spotify.client» «$HOME/Library/Caches/com.spotify.client» |
fi |
if [ ! -L «$HOME/Library/Application Support/Spotify/PersistentCache» ] |
then |
rm -rf «$HOME/Library/Application Support/Spotify/PersistentCache» |
ln -s «$CACHEDIR/Spotify/PersistentCache» «$HOME/Library/Application Support/Spotify/PersistentCache» |
fi |
# VSCodium Cache |
mkdir -p «$CACHEDIR/VSCodium/Cache» |
mkdir -p «$CACHEDIR/VSCodium/CachedData» |
if [ ! -L «$HOME/Library/Application Support/VSCodium/Cache» ] |
then |
rm -rf «$HOME/Library/Application Support/VSCodium/Cache» |
ln -s «$CACHEDIR/VSCodium/Cache» «$HOME/Library/Application Support/VSCodium/Cache» |
fi |
if [ ! -L «$HOME/Library/Application Support/VSCodium/CachedData» ] |
then |
rm -rf «$HOME/Library/Application Support/VSCodium/CachedData» |
ln -s «$CACHEDIR/VSCodium/CachedData» «$HOME/Library/Application Support/VSCodium/CachedData» |
fi |
# JetBrains Products Cache & Logs |
mkdir -p «$CACHEDIR/JetBrains/Caches» |
if [ ! -L «$HOME/Library/Caches/JetBrains» ] |
then |
rm -rf «$HOME/Library/Caches/JetBrains» |
ln -s «$CACHEDIR/JetBrains/Caches» «$HOME/Library/Caches/JetBrains» |
fi |
mkdir -p «$CACHEDIR/JetBrains/Logs» |
if [ ! -L «$HOME/Library/Logs/JetBrains» ] |
then |
rm -rf «$HOME/Library/Logs/JetBrains» |
ln -s «$CACHEDIR/JetBrains/Logs» «$HOME/Library/Logs/JetBrains» |
fi |
# /usr/bin/chflags hidden «/Volumes/RAMD» #Hide RAMD volume |
fi |
unset CACHEDIR |
EOF |
fi |
if [ -f » $FILE » ] ; then |
sudo defaults write com.apple.loginwindow LoginHook » $FILE « |
fi |
chmod a+x $FILE |
unset FILE |
This comment has been minimized.
Copy link Quote reply
vacarogit commented Nov 13, 2020
google chrome/ safari cache doesn’t seem to move to RAMD per my testing
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
Улучшаем работу Google Chrome в MacOS
Надоело мне что Google Chrome довольно сильно нагружает мой ssd. Всетаки циклов чтения-записи ограниченное число.
Так как параметр —disk-cache-size=0 отрабатывается некоректно, то есть отключить кэширование не получится, будем создавать ram диск закидывать в него кэш. Или обрубим его чисто линуксовым способом.
Приступим:
I. Метод «кэша в оперативной памяти».
Откройте редактор скриптов AppleScript (выбрав Applications/Utilities или Applications/AppleScript)
Введите:
do shell script «diskutil erasevolume HFS+ ramdisk $(hdiutil attach -nomount ram://10240) && /Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome —user-data-dir=/Users/$USER/Library/Application\\ Support/Google/Chrome —disk-cache-dir=/Volumes/ramdisk —disk-cache-size=5242880 > /dev/null 2>&1 &»
do shell script «hdiutil eject -force /Volumes/ramdisk»
1. Создаем виртуальный том в оперативной памяти размером в 5 мб. Что бы сделать его большим, умножаем желаемое количество в мегабайтах на 2048 (1024 x 2).
2. Запускаем Chrome с параметрами использовать кэш размером в 5 мб (если хотим больше, пишем свое число в байтах. Для простоты можно использовать сей сайт). И Использовать в качестве кэша виртуальный том.
3. После выхода из Chrom`a форсированно размонтировать диск.
Если вы установили Google Chrome в папку, отличную от папки по умолчанию, измените скрипт соответствующим образом.
Сохраните скрипт в папке Applications в виде файла в формате Application.
Чтобы у вашего приложения был такой же значок, как у Google Chrome:
Выберите приложение Chrome и нажмите на клавиатуре command+i, чтобы открыть информационное диалоговое окно.
Выберите значок в верхнем левом углу диалогового окна и скопируйте его, используя сочетание apple+c.
Откройте информационное диалоговое окно нового приложения, нажав command+i. Выберите значок в верхнем левом углу и вставьте ранее скопированный значок, используя сочетание command+v.
II. Метод «отключения кэша»
Все то же самое, кроме кода в AppleScript.
do shell script «/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome —user-data-dir=/Users/$USER/Library/Application\\ Support/Google/Chrome —disk-cache-size=1 —disk-cache-dir=/dev/null > /dev/null 2>&1 &»
Тут мы использовали кэш размером в 1 байт и перенаправили кэш в ноль. Не знаю правильно ли это, но chrome://cache/ показывает отсутствие кэша.
Если очень лениво во всем разбиратся, можно эти два скрипта скачать.
Источник
Chrome cache ramdisk mac os
Need really fast Java IDE or browser? Then keep reading.
This app will create a RAM disk in OS-X with specified size to store the apps cache in RAM, which is known as SSD optimization — reducing disk IO or making browsing the web and programming using IntelliJ more enjoyable.
Supported apps (you can add yours):
The IntelliJ Idea (or JetBrains IDEs) are really fast after this. Be aware that for the large code base you will need to have larger RAM Disk. I don’t have exact numbers, sorry, it can vary because of many factors. Mine machine have 16GB — it works very good for small code bases.
If you observing performance degradation — revise how much memory you are using and may be adding more can help. By default script will create RAM disk of 1/4 size of your RAM. If you need to change the size — edit startupRAMDiskandCacheMover.sh header section. The RAM disk works with hibernate option — you don’t need to worry about this part.
Have something to discuss?
If you have any issues (compatibility etc) — I am glad to have them reported in the issues tab.
- MAC OS X 10.10.2 Yosemite
- MAC OS X 10.11 EI Capitan
- MAC OS X 10.12 Sierra
Note that you have to re-run the script in order to get the ram disk back after machine restart. Currently it does not place it on startup — I’m working on it.
Give it a try before installing
Jetbrains IDE notes (IntelliJ)
In order to speed up the compilation and responsiveness of the IDE you can change «Project compiler output» and point it to ram disk:
and in your project/module settings (Command+down) point to this directory. You can also set this setting by default for your projects at the main menu, choose File | Other Settings | Default Settings
In addition to above you can tune jvm with following flags vim /Applications/IntelliJ\ IDEA\ 15.app/Contents/bin/idea.vmoptions
Do not use it now — the startup script does not work yet — work in progress
Run make uninstall or manually do following
Close the chrome, idea or any other application you configured to use ram disk.
If you are Linux user use
Was made with ♥ in NYC
About
RAM Disk creator in OS-X for IntelliJ, Google Chrome and other apps cache to make them fly.
Источник
Chrome cache ramdisk mac os
Что это за проект?
Данный проект, создан для очистки кеша браузера от google chrome, из-за проблем данного браузера для пользователей которые используют SSD накопители!
Что требуется для проекта?
Для Windows пользователей, требуется:
Для Linux пользователей, требуется:
Для Windows и Linux:
Как настроить проект?
- Basic settings — Disk size — 512 mb или выше;
- Load/Save — Image File — RAMDisk.img;
- Load Disk Image at Startup — True;
- Save Disk Image on Shutdown — True;
- Save Disk Image Now;
- Start RAMDisk;
На этом этапе настройка ramdisk закончена
Следующим этапом, нужно настроить браузер, для работы с кешом
Для этого нужно указать параметр в ярлыке браузера, параметр:
Данный параметр позволяет хранить кеш браузера, в отдельном каталоге
Так же есть параметр:
Данный параметр позволяет хранить весь профиль, в отдельном каталоге
Настройка закончена для системы windows
Для начала нам нужно, создать каталог google_cache_tmpfs
Затем нужно смонтировать каталог под файловую систему tmpfs
Альтернативный способ (для постоянной основы)
Нужно в /etc/fstab добавить код:
Настройка google chrome делается аналогично как и в Windows
Так же для того чтобы, не писать каждый раз, можно создать скрипт, например chrome_ramdisk.sh:
С таким содержимым скрипта:
Затем дать права на исполнение команды
Настройка закончена для системы linux
Альтернативный способ для создания ram диска — Перенос Google Chrome на RAM-диск в Linux
Переменные в run.py
local_drive — диск или каталог на котором ramdisk
path_to_chrome_cache — полный путь к кешу браузера
percent_size — процент после которого, будут удаляться файлы из кеша браузера
size_in_kb — размер файла, если размер файла больше установленного, чем в переменной, он будет удален
check_schedule_in_minutes — как часто проверять кеш в минутах
total_deleted_files_size — считает размер удаленных файлов
total_deleted_files_count — cчитает кол-во удаленных файлов
Источник