0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Drive for desktopのmetadata_sqlite_db肥大化を解消した方法

0
Posted at

概要

Cドライブの空き容量を調査していたところ、C:\Users\ユーザー名\AppData\Local\Google\DriveFS が約13GBまで肥大化していることに気付いた。

調査を進めると、容量の大半を占めていたのは metadata_sqlite_db で、そのサイズは約12GBだった。

Google Drive for desktop を終了した状態でこのデータベースを退避し、再起動して再生成したところ正常に復旧したため、その調査内容と対処手順を整理する。

背景

Cドライブの空き容量が少なくなってきたため、どのフォルダーが容量を消費しているのか調査した。

当初は C:\Windows\Installer\$PatchCache$ の削除も検討したが、これは Windows Installer が利用するキャッシュであり、通常は削除しないほうが安全と判断した。

その後、C:\Users\ユーザー名\AppData\Local\Google\DriveFS が約13GBあることが分かり、さらに調査すると、そのうち約12GBを metadata_sqlite_db が占めていることを確認した。

問題

PowerShellでGoogle配下のフォルダー容量を確認したところ、DriveFSだけが突出して容量を消費していた。

フォルダー 容量
DriveFS 13.05 GB
Chrome 5.04 GB
Chrome Beta 0.17 GB

さらにDriveFS配下を確認すると、容量のほとんどが metadata_sqlite_db によるものだった。

DriveFS
13.05 GB

└─ metadata_sqlite_db
   12.27 GB

つまり、DriveFS全体約13GBのうち、約12GBをSQLiteのメタデータデータベースが占有している状態だった。

調査内容

調査1:Googleフォルダー配下の容量を確認する

まず、Google関連フォルダーの容量を一覧で確認した。

Get-ChildItem "$env:LOCALAPPDATA\Google" -Directory |
ForEach-Object {
    $size = (
        Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue |
        Measure-Object Length -Sum
    ).Sum

    [PSCustomObject]@{
        Folder = $_.Name
        SizeGB = [math]::Round($size / 1GB, 2)
    }
} | Sort-Object SizeGB -Descending

この結果から、DriveFSだけが大きく容量を消費していることを確認できた。

調査2:DriveFS配下を確認する

DriveFSの内部を確認すると、"metadata_sqlite_db" が約12GBまで肥大化していた。

DriveFS
13.05 GB

└─ metadata_sqlite_db
   12.27 GB

DriveFS全体の容量の約94%を、このSQLiteデータベースが占めていた。

調査3:類似事例を確認する

Web上では、DriveFSが数十GB〜数百GBまで肥大化する事例や、キャッシュが異常に増加する事例は複数報告されていた。
また、"metadata_sqlite_db" がGoogle Driveのメタデータを保持するSQLiteデータベースであることも確認できた。
一方で、"metadata_sqlite_db" 単体が約12GBまで肥大化した事例は多く見つからなかった。

原因

今回確認できた事実は次のとおりである。

  • DriveFS全体は約13GBだった。
  • そのうち約12GBを "metadata_sqlite_db" が占めていた。
  • "metadata_sqlite_db" はGoogle Driveのメタデータを保持するSQLiteデータベースである。

肥大化の原因までは特定できなかったが、容量増加の直接的な要因は "metadata_sqlite_db" であることを確認した。

解決方法

Google Drive for desktop を終了した状態で、既存のデータベースを退避した。
metadata_sqlite_db
↓
metadata_sqlite_db.old

削除ではなくリネームとしたのは、問題が発生した場合でも元に戻せるようにするためである。
その後、Google Driveを起動すると、新しいデータベースが自動生成された。

metadata_sqlite_db
4 KB

共有ドライブの表示や同期にも問題は発生しなかった。
正常に動作することを十分確認した後で、退避した "metadata_sqlite_db.old" を削除した。

結果

項目 容量・状態
DriveFS(作業前) 13.05 GB
metadata_sqlite_db(旧) 12.27 GB
metadata_sqlite_db(新) 4 KB(作成直後)
Google Drive 正常起動
共有ドライブ 正常表示
同期 正常継続

DriveFS全体で約13GB消費していた容量のうち、約12GBを占めていた "metadata_sqlite_db" を解消できた。

学んだこと

  • DriveFSの容量が大きい場合は、まず内訳を確認すると原因を絞り込みやすい。
  • DriveFS全体の容量と、"metadata_sqlite_db" の容量は区別して確認すると状況を把握しやすい。
  • "metadata_sqlite_db" はGoogle Driveのメタデータを保持するSQLiteデータベースである。
  • Google Driveを終了した状態で退避し、再起動するとデータベースが再生成される場合がある。
  • 削除ではなくリネームで退避しておくと、安全に元へ戻せる。

まとめ

  • Cドライブの容量不足を調査した結果、DriveFS全体が約13GBまで増加しており、そのうち約12GBを "metadata_sqlite_db" が占めていた。
  • Google Driveを終了した状態でデータベースを退避し、再起動すると新しいデータベースが自動生成され、共有ドライブや同期も正常に利用できた。
  • DriveFSの容量が異常に増えている場合は、フォルダー全体だけでなく、その内訳として "metadata_sqlite_db" のサイズも確認してみる価値がある。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?