Windows10で重複排除(Dedup)を使う(Part1.導入編)

Windows10で重複排除(Dedup)を使う(Part1.導入編)
Windows10で重複排除(Dedup)を使う(Part2.設定編)
Windows10で重複排除(Dedup)を使う(Part3.運用編)

重複排除というのは、保存されたファイルの内容から、同じブロックを共有することで全体のディスク使用量を削減する機能です。

別のファイルシステムの機能で「圧縮機能」というのもありますが、条件によってはそれ以上の削減効果を得ることができます。(ReFSではまだ使えませんが)

一般的な話になりますが、削減効果としては
・ユーザドキュメントで30-50%程度
・繰り返し取得したフルバックアップファイルとかだと50-90%程度
とかなりのDisk容量を削減可能な場合があります。
(状況によって上下しますので、あくまで参考値です。)
(よく似たファイルが多いほど効果は高いです。)

重複排除はエンタープライズレベルの機能で、非常に高価な機能だったのですが、最近のWindowsServer(2012以降)には、重複排除機能が機能として搭載されています。

重複排除には処理方式としては、大きく分けると2種類あります。

インライン方式(リアルタイム処理)

  • ストレージに保存する直前に重複排除してから、保存します。
     リアルタイムで同じブロックがストレージに保存されているかを判断し、
     同じブロックが既にあれば、ブロックへのインデックス(メタデータ)のみ保存します。

     重複排除・圧縮後のデータだけを書き込むため、より必要な容量が抑えられる反面、
     一般的に多くのCPUパワーと、大量のメモリを利用する製品が多く、
     これらが足りないと書き込み性能に影響が出る場合があります。

     (データストレージ、NetApp、Oracle由来のZFSファイルシステムなど)


ポストプロセス方式(後処理)

  • ストレージに保存完了後の空き時間に重複排除処理を行います。
     ストレージの負荷が低いタイミングやスケジュールで、順次同じブロックがあるかを
     チェックし、同じブロックがあれば、ブロックを共有して、
     ブロックへのインデックス(メタデータ)に置き換えます。

     書き込みの際、性能に影響を与えない。比較的CPU,メモリ負荷が低い反面、
     一旦重複排除・圧縮前のデータを書き込むための容量が一時的に必要となります。

     (Windows Dedup等)

ほかにもプレプロセス方式(前処理)もありますが、ストレージではなく、
書き込みをするアプリ(バックアップソフト等)で実装されている場合が多い気がします。
事前にサーバ側で重複排除処理を実施しておき、完了した時点でストレージに保存します。

この辺の説明は、企業さんのサイトになりますが、こちらあたりがわかりやすいと思います。

WindowsServerでの重複排除ですが、こちらは、ポストプロセス方式(後処理)タイプの重複排除となります。サーバの負荷が低いアイドル状態や、暇な時間帯に重複排除処理を順次実施するタイプとなります。

なお、重複排除時には、ファイルはメタデータとブロックデータに分かれて保存されますが、ブロックデータ保存時は圧縮をしてから保存されるようです(圧縮除外拡張子指定あり)

比較的CPU,メモリ負荷が低いので、OSに機能として搭載するには現実的なのかもしれません。

こちらはエンタープライズレベルの機能になりますので、クライアントOSには搭載されず、サーバ系OS(WindowsServer2012以降)にのみ搭載されている機能になります。

重複排除に関するドキュメントはMSサイトを確認下さい。
(サーバOSであっても、いろいろ制限等などありますので、リスクを承知の上でお願いします。)

ただし、WindowsServerはクライアントOSとベースが同じですので、WindowsServerの重複排除モジュールを抜き出してクライアントOSに入れた方がおられるようです。
もちろんサポート対象外ですので、完全に自己責任になります。

How to Enable Data Deduplication in Windows 8
 Windows2012のモジュールを導入(NTFSに対応)
 :iInstallModule

Enable Deduplication on your Windows 8.1
 Windows2012R2のモジュールを導入?(NTFSに対応)
 :InstallModule

enabling-deduplication-on-windows-10-tp
 WinSV2016のモジュールを導入(NTFSに対応)
おそらくWin10 2004以前が対象
 :datadedup.zip

Dedupe Packages for Windows 10 Build 19041 (2004)
 2004以降のWin10にWInSV2019のモジュールを導入(NTFS,REFSに対応)
 :dedup-10.0.19041.1.zip

今回は、RefsをマウントしたWin10 21H2 にWinSV2019のモジュールを導入してみたいと思います。(何度も言いますが、自己責任になります。)

取得した、dedup-10.0.19041.1.zip をWin10 21H2上に解凍し、以下のコマンドでモジュールを導入します。(Zip内のinstall_remove_en-US.txtに記載があります。)

cd C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1 (解凍したフォルダに移動)

dism /online /add-package /packagepath:Microsoft-Windows-FileServer-ServerCore-Package-amd64-10.0.19041.1.cab /packagepath:Microsoft-Windows-FileServer-ServerCore-Package-amd64-en-US-10.0.19041.1.cab

dism /online /add-package /packagepath:Microsoft-Windows-Dedup-Package-amd64-10.0.19041.1.cab /packagepath:Microsoft-Windows-Dedup-Package-amd64-en-US-10.0.19041.1.cab


dism /online /enable-feature /featurename:Dedup-Core /all

PS C:\WINDOWS\system32> cmd
Microsoft Windows [Version 10.0.19044.1766]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>cd C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1

C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は A09A-1567 です

 C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1 のディレクトリ

2022/06/25  13:24    <DIR>          .
2022/06/25  13:24    <DIR>          ..
2022/06/25  13:24             1,193 install_remove_en-US.txt
2022/06/25  13:24    <DIR>          LanguageFiles
2022/06/25  13:24         3,515,399 Microsoft-Windows-Dedup-Package-amd64-10.0.19041.1.cab
2022/06/25  13:24            34,888 Microsoft-Windows-Dedup-Package-amd64-en-US-10.0.19041.1.cab
2022/06/25  13:24            64,448 Microsoft-Windows-FileServer-ServerCore-Package-amd64-10.0.19041.1.cab
2022/06/25  13:24            14,302 Microsoft-Windows-FileServer-ServerCore-Package-amd64-en-US-10.0.19041.1.cab
2022/06/25  13:24             1,475 Readme.txt
               6 個のファイル           3,631,705 バイト
               3 個のディレクトリ  33,972,563,968 バイトの空き領域

C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1>dism /online /add-package /packagepath:Microsoft-Windows-FileServer-ServerCore-Package-amd64-10.0.19041.1.cab /packagepath:Microsoft-Windows-FileServer-ServerCore-Package-amd64-en-US-10.0.19041.1.cab

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.844

イメージのバージョン: 10.0.19044.1766

1 / 2 を処理しています - パッケージ Microsoft-Windows-FileServer-ServerCore-Package~31bf3856ad364e35~amd64~~10.0.19041.1 を追加しています
[==========================100.0%==========================]
2 / 2 を処理しています - パッケージ Microsoft-Windows-FileServer-ServerCore-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.1 を追加しています
[==========================100.0%==========================]
操作は正常に完了しました。

C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1>dism /online /add-package /packagepath:Microsoft-Windows-Dedup-Package-amd64-10.0.19041.1.cab /packagepath:Microsoft-Windows-Dedup-Package-amd64-en-US-10.0.19041.1.cab

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.844

イメージのバージョン: 10.0.19044.1766

1 / 2 を処理しています - パッケージ Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~~10.0.19041.1 を追加していま す
[==========================100.0%==========================]
2 / 2 を処理しています - パッケージ Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.1 を追加しています
[==========================100.0%==========================]
操作は正常に完了しました。

C:\DATA\dedup-10.0.19041.1\dedup-10.0.19041.1>dism /online /enable-feature /featurename:Dedup-Core /all

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.844

イメージのバージョン: 10.0.19044.1766

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

なお、ReFS関連で以下のレジストリキーがあると、WinPEとして起動していると認識されて失敗するので、削除してから実施してください。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MiniNT\

これでPowerSHell上で重複排除(Dedup)に関するコマンド等が使用できるようになります。
Get-DedupProperties  (まだ有効化していないのでこの段階ではエラーになります)
Get-dedupstatus
Get-dedupjob
Get-DedupVolume
Get-DedupSchedule
・・・

PS C:\WINDOWS\system32> Get-DedupProperties

コマンド パイプライン位置 1 のコマンドレット Get-DedupProperties
次のパラメーターに値を指定してください:
DriveLetter[0]: D
DriveLetter[1]:
Get-DedupProperties : Deduplication is not enabled for the volume
Activity ID: {0d3a3ce7-dead-473f-bc61-402d67496318}
発生場所 行:1 文字:1
+ Get-DedupProperties
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Get-DedupProperties], CimE
   xception
    + FullyQualifiedErrorId : StorageWMI 43021,Get-DedupProperties

PS C:\WINDOWS\system32> get-dedupstatus
PS C:\WINDOWS\system32> get-dedupjob
PS C:\WINDOWS\system32> Get-DedupVolume
PS C:\WINDOWS\system32> Get-DedupSchedule

Enabled    Type               StartTime              Days               Name
-------    ----               ---------              ----               ----
True       Optimization                                                 BackgroundOptimization
True       GarbageCollection  2:45                   Saturday           WeeklyGarbageCollection
True       Scrubbing          3:45                   Saturday           WeeklyScrubbing

この段階でスケジュールはすでに登録されています。

BackgroundOptimization自動的に重複排除処理(共通したブロックを確認し、インデックス(メタデータ)と置き換える処理)を実行する
(サーバアイドル時に実行)
GarbageCollection定期的にガーべージコレクション(未使用のブロックを確認して削除する機能を実施します)
デフォルトでは、毎週土曜日 2:45-
Scrubbing ディスク障害または不良セクターによるチャンク ストア内の破損を特定します。
デフォルトでは、毎週土曜日 3:45-


では,詳細を表示させてみます。

get-dedupschedule | select Enabled,Name,Type,Priority,Full,ScheduledTask,Days,Start,DurationHours,StopWhenSystemBusy,IdleTimeout,SkipReconciliation,ReadOnly,InputOutputThrottleLevel,InputOutputThrottle,AtStartup,FastStart,Cores,Memory,CimClass,CimInstanceProperties,CimSystemProperties,PSComputerName

PS C:\WINDOWS\system32> get-dedupschedule | select Enabled,Name,Type,Priority,Full,ScheduledTask,Days,Start,DurationHours,StopWhenSystemBusy,IdleTimeout,SkipReconciliation,ReadOnly,InputOutputThrottleLevel,InputOutputThrottle,AtStartup,FastStart,Cores,Memory,CimClass,CimInstanceProperties,CimSystemProperties,PSComputerName


Enabled                  : True
Name                     : BackgroundOptimization
Type                     : Optimization
Priority                 : Low
Full                     :
ScheduledTask            : \Microsoft\Windows\Deduplication\BackgroundOptimization
Days                     :
Start                    :
DurationHours            :
StopWhenSystemBusy       : True
IdleTimeout              :
SkipReconciliation       :
ReadOnly                 :
InputOutputThrottleLevel :
InputOutputThrottle      : 20
AtStartup                :
FastStart                :
Cores                    : 75
Memory                   : 25
CimClass                 : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupJobSchedule
CimInstanceProperties    : {AtStartup, Cores, Days, DurationHours...}
CimSystemProperties      : Microsoft.Management.Infrastructure.CimSystemProperties
PSComputerName           :

Enabled                  : True
Name                     : WeeklyGarbageCollection
Type                     : GarbageCollection
Priority                 : Normal
Full                     : False
ScheduledTask            : \Microsoft\Windows\Deduplication\WeeklyGarbageCollection
Days                     : Saturday
Start                    : 2022/06/26 2:45:00
DurationHours            : 48
StopWhenSystemBusy       : True
IdleTimeout              :
SkipReconciliation       :
ReadOnly                 : False
InputOutputThrottleLevel :
InputOutputThrottle      : 0
AtStartup                :
FastStart                :
Cores                    : 100
Memory                   : 50
CimClass                 : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupJobSchedule
CimInstanceProperties    : {AtStartup, Cores, Days, DurationHours...}
CimSystemProperties      : Microsoft.Management.Infrastructure.CimSystemProperties
PSComputerName           :

Enabled                  : True
Name                     : WeeklyScrubbing
Type                     : Scrubbing
Priority                 : Normal
Full                     : False
ScheduledTask            : \Microsoft\Windows\Deduplication\WeeklyScrubbing
Days                     : Saturday
Start                    : 2022/06/26 3:45:00
DurationHours            : 72
StopWhenSystemBusy       : True
IdleTimeout              :
SkipReconciliation       :
ReadOnly                 : False
InputOutputThrottleLevel :
InputOutputThrottle      : 0
AtStartup                :
FastStart                :
Cores                    : 100
Memory                   : 50
CimClass                 : ROOT/Microsoft/Windows/Deduplication:MSFT_DedupJobSchedule
CimInstanceProperties    : {AtStartup, Cores, Days, DurationHours...}
CimSystemProperties      : Microsoft.Management.Infrastructure.CimSystemProperties
PSComputerName           :

なお、項目の詳細については、MSドキュメントを参照ください。

ここでスケジュールされたガベージコレクションは、通常のものになります。
この通常の重複排除領域のガベージコレクションはデフォルトでは週1回実施されます。

そのジョブの4回に一度、Fullのガーベージコレクション(深くブロックの使用状況をチェックしてより多くのブロックを削除する)が発生するのですが、
このタイミングでVSSが有効になっている場合、VSSがクリアされる場合があるので、場合によっては無効化したい場合があります

その場合、以下のコマンドを実行します。

(設定)
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings -Name DeepGCInterval -Type DWord -Value 0xFFFFFFFF


(確認)
Get-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings

PS C:\WINDOWS\system32> Get-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings                  

DoNotDedup                         : {}
GlobalDefaultsCreated              : 1
SvcTelemetryLastLoggedTimeHighPart : 30967884
SvcTelemetryLastLoggedTimeLowPart  : 385434989
PSPath                             : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Se
                                     rvices\ddpsvc\Settings
PSParentPath                       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Se
                                     rvices\ddpsvc
PSChildName                        : Settings
PSDrive                            : HKLM
PSProvider                         : Microsoft.PowerShell.Core\Registry




PS C:\WINDOWS\system32> Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings -Name DeepGCInterval -Type DWord -Value 0xFFFFFFFF
PS C:\WINDOWS\system32>




PS C:\WINDOWS\system32> Get-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings

DoNotDedup                         : {}
GlobalDefaultsCreated              : 1
SvcTelemetryLastLoggedTimeHighPart : 30967884
SvcTelemetryLastLoggedTimeLowPart  : 385434989
DeepGCInterval                     : 4294967295
PSPath                             : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Se
                                     rvices\ddpsvc\Settings
PSParentPath                       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Se
                                     rvices\ddpsvc
PSChildName                        : Settings
PSDrive                            : HKLM
PSProvider                         : Microsoft.PowerShell.Core\Registry

これで、インストールは完了になります。
ちなみにサーバOS(WinSV2012以降)であれば、サーバマネージャ(GUI)もしくは、Powershellで以下のコマンドを実行することでインストールできます。

Install-WindowsFeature -Name FS-Data-Deduplication

詳細はMSドキュメントを参照して下さい。


次回は、重複排除の有効化と、設定を実施する予定です。

Views: 70

カテゴリー: 未分類 | コメントする

Windows10で工夫してReFS(Resilient File System)を使う方法

ReFSについて

Microsoft曰く次世代ファイルシステムとなるReFS。
NTFSに代わるファイルシステムとして開発されたのがReFSです。

NTFSからのメリットは、パフォーマンス、回復性、スケーラビリティといったところ。
ほとんど業務的なメリットですね。
Winserver2019以降で、重複排除も使えるようになったので、やっと機能的にはそろってきました。

Win10 1703でReFSでフォーマット出来るようになったのですが、
その後すぐに、Win10 Home/Pro 1709(ビルド16226以降)では、ReFSでフォーマットできなくなりました。
現在、サポート外のWin10では使用は非推奨になっていますが、マウントはリバーブルメディア以外では、今のところできる模様です。

Resilient File System (ReFS) (追加: 2017 年 8 月 17 日)作成機能は、次のエディションでのみで利用可能になります。Windows 10 Enterprise と Windows 10 Pro for Workstations。 作成機能は、その他のすべてのエディションから削除されます。 他のすべてのエディションには、読み取りと書き込みの機能があります。1709

業務用OS(Enterprose,Pro Workstation)やサーバ系OS(2012,2016,2019,2022)では、ReFSのバージョンアップはすすんでおり、2022/6現在のバージョンは3.9のようです。
バージョン詳細

Refsの使い方

Win10 1703では、以下のコマンドでフォーマット可能なようです。
あらかじめ、ディスクの管理から、初期化とドライブのマウント(D:)まで実施しておきます。
(GUIでは、ディスクの管理管理からは不可。一度ドライブマウントしておけば、ReFSでもエクスプローラからでもフォーマットできる模様です)

format d: /u /fs:refs /i:enable /Q /A:64k

なお某サイトを参考にしましたが、正直 /u の意味が不明ですが、エラーは出ていない模様。
(/Q はクイックフォーマット指定)

C:\Users\Win10>format d: /u /fs:refs /i:enable /Q /A:64k
ファイル システムの種類は RAW です。
新しいファイル システムは REFS です。

警告: ハード ディスクのドライブ D: のデータは
失われます。
フォーマットしますか (Y/N)? y
クイック フォーマットしています  499.9 GB
ボリューム ラベルを入力してください。
(半角で 32 文字、全角で 16 文字以内)
必要なければ、Enter キーを押してください:
ファイル システム構造を作成します。
フォーマットは完了しました。
     499.9 GB: 全ディスク領域
     499.9 GB: 使用可能領域

C:\Users\Win10>

ちなみに、互換性のため、ReFS1.2でもフォーマットできるとのことです。

format d: /u /fs:refsv1 /i:enable /Q

なお、1703より前では、以下のレジストリを追加することで、フォーマット機能のロック解除が可能とのことです。(参考:How to disable or enable ReFS or Resilient File System on Windows 11/10)
ただし、以下のレジストリキー[MiniNT]があると、WinPEとして起動している認識になってしまうようで、一部コマンドが失敗するので、不要になったら削除推奨です。
RefsDisableLastAccessUpdateも0に戻しておきましょう

1709以降では、Windows 10 Pro for WorkstationsまたはサーバOSを使うしかないようです。
なんか、Enterpriseでも行けるのかもしれません。
(いろんな記事を探しましたが、レジストリのキーも文字列(Non->No)が違ったりで情報が錯綜しているので、何か情報あれば教えてください。)

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MiniNT]
AllowRefsFormatOverNonMirrorVolume=dword:00000001


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
“RefsDisableLastAccessUpdate”=dword:00000001

ReFSのバージョンは以下のコマンドで、実行できます。
Win10 1703でフォーマットした場合は、3.2になります。(Winserver2016では3.1)

fsutil fsinfo refsinfo d:

C:\Users\Win10>fsutil fsinfo refsinfo d:
REFS ボリューム シリアル番号       : 0xd460103060101bb4
REFS バージョン                    : 3.2
セクター数                  : 0x000000003e7a0000
総クラスター数                  : 0x00000000007cf400
空きクラスター数                   : 0x00000000007c3277
総予約数                  : 0x0000000000008849
セクターあたりのバイト数                : 512
物理セクターあたりのバイト数       : 512
クラスターあたりのバイト数               : 65536
チェックサムの種類:                    CHECKSUM_TYPE_CRC64

ちなみに、この頃のWindowsバージョンだと、サーバOSでも重複排除もサポートしてないです。(もともとクライアントOSでは重複排除は未サポートですが)
WindowsServer 2019(Win10 1803相当)からReFSで、重複排除がサポートされるようになっています。
MS情報

なお、上位のバージョンであれば、ReFSをマウント時にバージョンアップしてくれる模様。
なお、WinServer2022でReFS3.4、Win11相当だと、ReFS3.7だそうです。

Win10のバージョンアップはしても大丈夫?

その後、Win10 21H2にバージョンアップしてみました。
ReFSバージョンが、自動で3.4になってました。
(ReFSフォーマットするためにMiniNTレジストリキーがあると、OSアップグレードに失敗する場合があるので注意)

PS C:\WINDOWS\system32> fsutil fsinfo refsinfo d:
REFS ボリューム シリアル番号 :                0xd460103060101bb4
REFS バージョン   :                           3.4
セクター数 :                           0x000000003e7a0000
総クラスター数 :                           0x00000000007cf400
空きクラスター数  :                           0x00000000007c2a68
総予約数 :                           0x000000000000904f
セクターあたりのバイト数  :                        512
物理セクターあたりのバイト数 :                512
クラスターあたりのバイト数 :                        65536
高速層のデータ格納率 :           0.0%
低速層のデータ格納率 :           0.0%
高速層から低速層への割合 (クラスター数/秒) : 0
チェックサムの種類:                            CHECKSUM_TYPE_CRC64

なお、21H2にした後は、ReFSフォーマットできなくなってましたが、
レジストリキー追加しても、GUIでもコマンドラインでもダメでした。
期間限定だったんでしょうか・・・・

PS C:\WINDOWS\system32> format e: /u /fs:refs /i:enable /Q /A:64k
ファイル システムの種類は NTFS です。
新しいファイル システムは REFS です。

警告: ハード ディスクのドライブ E: のデータは
失われます。
フォーマットしますか (Y/N)? Y
クイック フォーマットしています  32.0 GB
ReFS ファイル システムはこのデバイスでサポートされません。
フォーマットに失敗しました。
PS C:\WINDOWS\system32>


なぜ、今頃ReFS試しているかっていうと、某バックアップソフトの合成バックアップ時にReFSのブロッククローン機能使って、一時的にフルバックアップ再構築時に高速化とDisk使用分の増加抑制が見込めるらしい(そのソフトではfast cloneというらしいが)と研修で聞いたので。

ReFSのブロッククローンと重複排除を同時に使えればバックアップ保存先として最強かよ・・・
といろいろ調べてみたが、併用するとブロッククローンが働かないらしい(同時利用時の設定はレジストリにあるようなんだけどね)。
そのへんも、いろいろ試してみたいと思います。

追記

Win10 21H2環境でReFS 3.4でフォーマットしたドライブについて、Block Clone(Fast Clone)は、ちゃんと動作しました。
NTFSだと某バックアップソフトウェアの合成バックアップが1時間以上かかっていたのが1分ぐらいで終わりました。
仕様上、ReFSで重複排除をしているとBlock Cloneは無理らしいですが、クローン時にDisk容量をほぼ消費しないので、実質的に2ファイル間の重複排除が出来ているのと同意味の気がします。(一時的ではありますが、重複排除率50%?)
あと、この速度は魅力的ですね。合成バックアップのペナルティが実質なくなってます。
ベストプラクティス扱いされてるのもわかりますわ。

Views: 77

カテゴリー: 未分類 | コメントする

ノートPCなどのOptimus環境でChromeでNvidiaGPUを利用する方法

CPU内蔵GPU以外に外付けNvidiaGPUを搭載したノートPCなどでは、基本CPU内蔵GPUが使われ、特定にアプリで外付けGPUが使用できるように設定可能なOptimus環境になっています。

ただ、Chromeで外付け Nvidia GPUを使用するように設定しても、実際には内臓CPUが使われてしまいます。

どうやら、バグ対策らしいもので、Chromeで、Optimus環境だと外付け Nvidia GPUが無効になるようです。

対策としては、以下の操作をして、できた gpu-chrome.exe に対して外付けGPUを利用できるように設定して起動することで、外付けGPUが利用できるようになります。

c:\>cd "C:\Program Files\Google\Chrome\Application"

c:\>mklink /H gpu-chrome.exe chrome.exe
gpu-chrome.exe <<===>> chrome.exe のハードリンクが作成されました

すでにChromeが常駐している場合は、いったん停止して、 gpu-chrome.exe から起動する必要があるようです。どうやら2017年ごろからこの仕様なようで理由はよくわかりません。
なんとなくですが、Nvidia側が制限している雰囲気があります。

なお、同じChromiumベースの新しいEdgeだと、そのまま外付けNvidia GPUが使えるのでこちらを使うのというのが最も簡単だとは思いますが、既存Chrome環境でGPUを使いたい場合に役に立つかもしれません。

なお、GPUの利用状況は、Chromeで、以下にアクセスすれば表示されます。

chrome://gpu

Views: 90

カテゴリー: 未分類 | コメントする