# Windows 清除 Chrome 快取，不用登出

Chrome 的快取是它存下來的圖片、指令碼和編譯好的程式碼，同一個網頁再開時就不用全部重新下載。在 Windows 上它放在使用者設定檔資料夾裡，開了好幾個 Chrome 個人資料的話，加起來到幾 GB 很常見。清快取本身是安全的，Chrome 會自己重新產生，麻煩在於同一個對話框裡還有 Cookie 和瀏覽記錄，真正讓人被登出、弄丟東西的是這兩個勾選項目。

## 先選要處理哪一類資料

| 資料 | 是什麼 | 清掉的代價 |
| --- | --- | --- |
| 快取的圖片和檔案 | 網頁資源的本機副本 | 下次開啟網站時圖片和指令碼要重新載入 |
| Code Cache、GPUCache、著色器快取 | 編譯好的指令碼和圖形運算結果 | Chrome 重新編譯，頭幾次載入稍慢 |
| Cookie 和其他網站資料 | 登入狀態、網站設定、Web Storage、IndexedDB | 要重新登入網站，網站存在本機的離線資料也沒了 |
| 瀏覽記錄 | 造訪過的網頁清單 | 歷史記錄、新分頁捷徑和網址列裡這些網站的建議 |
| 密碼、書籤、擴充功能 | 儲存下來的帳戶資料 | 清快取不會動它們，各有各的管理頁面 |

只是想清出磁碟空間，或是某個網頁一直顯示舊版本，處理前兩列就夠了，Cookie 只在某個網站確實壞掉的時候才值得清，而且只清那一個網站的。

## 在 Chrome 裡清快取

依 Google 的[刪除瀏覽資料說明](https://support.google.com/chrome/answer/2392709?hl=zh-TW)，點右上角的「更多」圖示（三個點），再選「刪除瀏覽資料」，也可以直接在網址列輸入「刪除瀏覽資料」選它給出的動作，或按 **Ctrl + Shift + Delete**。

1. 選時間範圍，「不限時間」會清掉全部快取，某個網頁剛出問題時選「過去 1 小時」就夠了。
2. 勾選「快取的圖片和檔案」。
3. 除非真想刪，否則取消勾選「Cookie 和其他網站資料」與「瀏覽記錄」。
4. 點「刪除資料」。

清 Cookie 不會讓你登出 Chrome 本身，也不會關掉同步，但 [Google 說明](https://support.google.com/accounts/answer/32050?hl=zh-TW)提到部分網站設定會被刪除，可能要重新登入網站。開著同步時刪掉的瀏覽記錄也會從其他登入同一個帳戶的裝置上消失，這也是清快取時別碰那個選項的另一個理由。

只是一個網站出問題，就開啟那個網站，點網址列左邊的圖示，選「網站設定」，再點「刪除資料」，這樣只清它自己的 Cookie 和儲存空間，不影響其他網站。

## 在磁碟上找到快取資料夾

這個對話框不會顯示快取占了多少空間，想量大小就去 Chrome 的使用者資料資料夾，按 **Win + R** 貼上：

```text
%LOCALAPPDATA%\Google\Chrome\User Data
```

這裡每個個人資料是一個資料夾，第一個叫 `Default`，之後是 `Profile 1`、`Profile 2` 依序往下，分不清哪個資料夾對應哪個個人資料時，在那個個人資料裡開啟 `chrome://version`，看「個人資料路徑」那一行。每個個人資料的資料夾裡的快取是這幾個：

```text
Cache
Code Cache
GPUCache
Service Worker\CacheStorage
```

另外還有幾個快取只有一份，直接放在 `User Data` 底下，和各個個人資料並排：`ShaderCache`、`GrShaderCache` 和 `GraphiteDawnCache`。在資料夾上按右鍵選「內容」就能看到大小。公司電腦上快取可能不在這裡，管理員可以用 Chrome 的 `DiskCacheDir` 原則把它搬到別處，這種情況就用 Chrome 的對話框清，不用去翻資料夾。

## 手動刪除快取資料夾

先關掉 Chrome，而且要確認真的關了，「設定 > 系統 > 關閉 Google Chrome 後繼續執行背景應用程式」開著時，關掉最後一個視窗 Chrome 還在背景跑，到通知區域找它的圖示從那裡結束。Chrome 執行時會一直占著 `User Data\lockfile` 這個檔案，Windows 也會拒絕刪除它正在使用的檔案。

然後刪掉每個個人資料裡 `Cache`、`Code Cache`、`GPUCache` 的內容，以及 `User Data` 底下那三個著色器資料夾的內容。個人資料裡其他東西都留著，`Cookies`、`History`、`Login Data`、`Local Storage`、`IndexedDB`、`Preferences` 和 `Bookmarks` 是使用者資料不是快取。別貪快把整個 `User Data` 或某個個人資料的資料夾刪掉，那等於重設個人資料，會連本機儲存的密碼和設定一起刪掉，而同步裡不一定有它們。

`Service Worker\CacheStorage` 不太一樣，網站是有意把檔案放在這裡好離線使用的，比如網頁信箱存下的郵件、音樂網站儲存的歌曲，一般清掉也沒事，但要像對待 Cookie 那樣，確定不需要那份離線副本時再清。

## 確認結果

開始前記下 C 槽的可用空間，清完再重新整理看一次。幾乎沒變的話，看看刪掉的檔案是不是進了資源回收筒，資源回收筒沒清空之前它們仍然占著空間。重新開啟 Chrome，頭幾個網頁會慢一點，快取正在重新填充，之後幾天它還會長回來，所以目標不是一個空資料夾，而是快取占的空間在可以接受的範圍內。

快取本來就不大、C 槽還是滿的，那原因不在 Chrome，[Windows 快取清理](/tw/windows/blog/windows-cache-cleanup)講了其他占空間的地方，[Edge 一直在背景執行](/tw/windows/blog/edge-running-in-background)講的是微軟瀏覽器同樣的背景常駐行為。

## Mole 能做什麼

Mole for Windows 的**清理**會列出 Chrome 每個個人資料的 `Cache`、`Code Cache`、`GPUCache` 和 WebGPU 快取，以及著色器快取、下載下來的元件套件和擴充功能套件、超過七天的當機報告，這些項目預設勾選。`Service Worker\CacheStorage` 放在待確認裡，預設不勾，勾了也是移到資源回收筒。清理沒有任何規則會動 Cookie、瀏覽記錄、密碼、`Local Storage` 或 `IndexedDB`。Chrome 正在執行時，這些項目會顯示 **Chrome 佔用快取**，可以直接結束它再清。一般快取預設永久刪除，想留個還原的餘地，就在清理前把**設定 > 快取刪除方式**改成**資源回收筒**，Edge 的快取也是同樣的處理方式。

## 常見問題

### 清 Chrome 快取會讓我被登出嗎？

不會，被登出是清 Cookie 造成的，跟快取的圖片和檔案無關，不勾選「Cookie 和其他網站資料」，網站的登入狀態都在。

### 快取為什麼很快又長回來了？

瀏覽時 Chrome 會不斷往裡面填，這本來就是快取的用途，只有它真的占了不少空間，或是某個網站一直顯示舊內容時，才值得再清一次。

### 清快取能讓 Chrome 變快嗎？

一般不會，快取是為了讓重複造訪更快，剛清完反而會慢一點，它能解決的是某個網站顯示舊版本或頁面錯亂，不是日常提速的辦法。


Canonical: https://mole.fit/tw/windows/blog/clear-chrome-cache-windows
