工作管理員「共用 GPU 記憶體」點睇?專用顯存 vs 共用記憶體解讀同真正唔夠用嘅分辨指南
重點摘要
專用顯存先係顯示卡本身容量,共用記憶體只係系統記憶體借用上限。睇使用中唔睇總數,先分得出真正唔夠用。
開場:點解兩個數字會令人誤會
打開 Windows 工作管理員,切換到效能頁再點選顯示卡,會見到一組記憶體數字。不少人第一眼見到「GPU 記憶體」總數好大,就以為自己張顯示卡有好多顯存;亦有人見到「共用 GPU 記憶體」一欄有一個大數字,就以為張卡多了一組隱藏顯存,甚至以為買卡時賺了。兩個反應都源於同一個誤解:將上限當成容量,將借用池當成卡上硬件。
本篇只處理一個問題:工作管理員入面「專用」同「共用」兩個數字各自代表甚麼,應該點睇,先可以分辨顯存是否真正唔夠用。顯存耗盡之後出現的症狀同設定取捨,屬於另一篇的範圍,詳見第 156 篇,本篇不會重寫症狀清單。即時監測讀數的技巧,例如溫度、功耗同風扇轉速點判斷邊度出事,詳見第 108 篇。本地人工智能程式的顯存規劃,詳見第 179 篇。買卡之後點用跑分驗證,詳見第 203 篇。手提電腦用緊內顯定獨顯的切換問題,詳見第 150 篇。
先講結論,後面再逐層拆解。專用顯存先係張卡本身的顯存。共用記憶體唔係喺卡上面,唔係第二組顯存,更加唔係買卡送的額外容量。總數只是一個可用池的上限,唔係而家用緊幾多。判斷顯存夠唔夠,應該睇專用使用量同共用實際使用量,唔好睇總數有幾大。
專用 GPU 記憶體:張卡本身有幾多顯存
專用 GPU 記憶體指獨立顯示卡上面實體焊死的記憶體顆粒,也就是一般所講的 VRAM。這些顆粒屬於顯示卡本身,只供顯示卡使用,中央處理器不會直接用佢哋做一般運算。工作管理員入面「專用」一欄顯示的數字,就是張卡本身的顯存容量,例如一張卡標示有 8GB 顯存,專用一欄就會顯示相應容量;另一張卡標示 12GB 或者 16GB,專用一欄亦會相應顯示。
問「張卡有幾多顯存」的時候,答案就係專用呢個數字。買卡之前對規格,買卡之後核對,應該對的都是專用容量。其他數字再大,都唔會令一張 8GB 顯存的卡變成 12GB 或者 16GB 的卡。顯存顆粒的容量由硬件決定,唔會因為系統設定、驅動程式版本或者工作管理員的顯示方式而改變。
專用顯存的用途亦要講清楚。顯示卡渲染畫面需要的資料,包括貼圖、緩衝區同著色器資源,會先放入專用顯存,因為卡上顯存的頻寬高、延遲低,顯示卡可以直接高速取用。專用顯存愈接近用滿,顯示卡就愈可能要將部分資料搬去較慢的地方,或者降低資料的精細程度。呢個機制後面會再講,但前提必須先確立:專用先係正選,正選滿了先會談到後備。
共用 GPU 記憶體:系統記憶體借出來的上限
共用 GPU 記憶體指系統記憶體入面,Windows 容許顯示卡在有需要時借用的部分。系統記憶體即係主機板上的記憶體,日常供中央處理器同程式使用。共用池並唔係焊在顯示卡上的第二組記憶體,佢的位置喺主機板,擁有者係整個系統,顯示卡只係在有需要時經系統借用。
工作管理員入面「共用」一欄顯示的大數字,是一個上限,也就是在理想情況下最多可以借用幾多。呢個上限隨系統記憶體容量而變,系統記憶體愈大,共用上限愈大;系統記憶體愈細,共用上限亦愈細。本篇刻意只作定性描述,因為上限的具體訂定規則由 Windows 視訊記憶體管理員按系統狀況決定,唔同系統、唔同驅動版本、唔同設定下都可能有差異,寫成一個固定算式反而會誤導。讀者只需要記住方向:共用上限跟系統記憶體走,唔跟顯示卡型號走。
上限同實際用量係兩回事。共用一欄顯示幾多,唔代表而家已經用了幾多。平時輕負載之下,例如只開瀏覽器同文書程式,共用實際用量通常非常細,甚至接近零。一個大上限配一個細用量,係完全正常的狀態,唔代表有問題,亦唔代表有效能儲備等緊你用。真正要睇的,是「使用中」呢個讀數,後面診斷一節會詳細講。
「GPU 記憶體」總數:點解呢個數字最易呃人
工作管理員會將專用同共用兩個上限加埋,顯示成一個「GPU 記憶體」總數。呢個總數好容易令人誤會,因為佢睇落似係一個容量數字,但實際上佢只是一個可用池的上限總和。舉一個假設性說明:假設一張卡專用顯存是某個容量,而系統記憶體又容許一個頗大的共用上限,兩者加埋的總數自然會比專用容量大得多。呢個總數並唔係話張卡突然多了顯存,只係話系統在有需要時最多可以為顯示卡準備幾多記憶體空間,其中大部分仲要行經較慢的路徑。
總數大唔等於效能好,呢一點必須用顯眼方式再講一次。共用池行經 PCIe 匯流排同系統記憶體控制器,頻寬同延遲都遠差過卡上顯存,仲要同中央處理器爭用系統記憶體頻寬。資料一旦要去共用池,取用速度就會明顯慢過留在專用顯存。總數再大,都改變唔到呢個速度差。將總數當成顯存容量來比較兩張卡,實際上係將系統記憶體容量誤算入顯示卡效能,比較結果完全無意義。
另一個常見誤讀,是將工作管理員程序欄入面每一個程式的 GPU 記憶體數字加埋,當成全機總用量。程式之間可以共用同一批記憶體,簡單相加會誇大用量。以效能頁的總數為準,先係正確的睇法,監測讀數的原則詳見第 108 篇。
點解要有共用層:溢出機制同速度差
顯示卡渲染需要的資料有時會超過實體顯存。原因可以好多:解像度高、貼圖精細、同時開多個需要顯示卡的程式,或者程式本身的資料量本來就大。如果系統完全無溢出空間,程式在資料裝唔落顯存時就會直接出問題。共用記憶體就是為呢種情況而設的溢出層:專用顯存裝唔落的資料,可以暫時放到系統記憶體,等需要時再經 PCIe 取回。
溢出層的設計本意是「有好過無」,唔係「同正選一樣好」。卡上顯存由顯示卡直接高速取用,系統記憶體要經過匯流排同控制器,兩者速度差距非常大。溢出發生時,畫面可能出現短暫卡頓,或者程式自動降低材質精細程度,呢啲都係速度差的後果。理解呢一點,就會明白點解「共用池好大」唔值得高興:後備空間再大,都唔會令後備變成正選,資料去到後備嗰一刻,速度代價已經要付。
呢個機制亦解釋咗點解加系統記憶體唔等於提升顯示卡效能。加系統記憶體只係加大共用上限,令溢出時有更多後備空間,唔會加快卡上顯存本身,亦唔會令顯示卡核心變快。如果瓶頸本來就喺專用顯存容量,加系統記憶體的幫助極其有限;只有在資料真係溢出,而且後備空間本身都唔夠的情況下,加大上限先有緩衝作用,而且取用速度仍然慢。將「加記憶體」當成「升級顯示卡」,係本篇要拆解的核心誤區之一。
獨顯同內顯:兩種情況唔好混為一談
獨顯同內顯在記憶體數字上的表現完全不同,必須分開講。獨顯有自己的實體顯存,專用一欄就是卡上顯存容量,共用一欄就是系統記憶體借用上限,兩者界線清晰。上面幾節講的定義,主要就是針對獨顯。
內顯本身無實體顯存。內顯整合在處理器或者晶片組入面,運作時要靠系統記憶體。工作管理員入面內顯的「專用」一欄,有可能只係 BIOS 預留的一小部分系統記憶體,日常運作主要靠共用池。換言之,內顯的專用數字唔可以同獨顯的專用數字直接比較:前者係預留出來的系統記憶體,後者係卡上硬件。內顯用緊幾多、預留幾多、共用池點分配,全部都受系統設定影響。
內顯預留調大亦唔等於內顯變勁。BIOS 入面調大預留,只係將更多系統記憶體劃給內顯專用,系統其他程式可用的記憶體就會相應減少,而取用速度仍然係系統記憶體的速度,唔會變成獨顯的高速顯存。調大預留之前,應該先諗清楚系統記憶體本身夠唔夠兩邊分,唔好為了一個數字好看而令成部機變慢。內顯同獨顯之間點切換,詳見第 150 篇。
專用 vs 共用對照表
| 項目 | 專用 GPU 記憶體 | 共用 GPU 記憶體 |
|---|---|---|
| 位置 | 顯示卡上面實體焊死的記憶體顆粒 | 主機板上的系統記憶體入面劃出來的借用池 |
| 擁有者 | 只屬於顯示卡 | 屬於整個系統,顯示卡有需要時先借用 |
| 速度 | 高頻寬、低延遲,顯示卡直接取用 | 行經匯流排同系統記憶體控制器,慢得多,仲要同中央處理器爭用 |
| 欄位代表咩 | 張卡本身的顯存容量 | 最多可以借用幾多,係上限,唔係用量 |
| 滿咗會點 | 資料要溢出到共用池,或者程式降低資料精細程度 | 後備空間都用盡時,程式可能出問題,要處理的方向見第 156 篇 |
| 應該點睇 | 睇容量夠唔夠應付日常用途 | 睇實際使用中幾多,唔好睇上限有幾大 |
| 加系統記憶體會點 | 無影響,卡上顯存容量唔變 | 上限隨系統記憶體而變大,但速度仍然慢 |
三步診斷法:分辦真正唔夠用定只係數字嚇人
第一步,睇專用使用量,唔好睇共用總數。打開工作管理員效能頁,在日常使用或者遊戲進行期間留意專用使用量。如果專用使用量長期貼近上限,同時畫面出現卡頓、貼圖突然變模糊或者材質降級,先值得懷疑真係顯存唔夠。如果專用使用量仲有頗大餘裕,單憑共用總數大就斷定有問題,係睇錯數字。
第二步,睇共用實際使用量。共用「使用中」長期顯著上升,代表資料真係溢出到系統記憶體,呢個先係共用記憶體被動用的證據。共用總數大但使用中接近零,係完全正常,唔使理會,亦唔使做任何設定。反過來,共用使用中長期高企,配合專用已滿同畫面症狀,三者齊全先構成顯存壓力的完整證據鏈,缺任何一環都唔好急於下結論。
第三步,對照症狀同排除其他原因。無症狀加專用未滿,結論就是唔使做任何嘢,唔好為數字而調設定。有症狀加專用已滿加共用使用中上升,處理方向指向第 156 篇的設定取捨,例如降解像度、降貼圖質素一類方向,本篇唔重寫清單。卡頓唔一定係顯存問題,供電、散熱、驅動、處理器樽頸、著色器編譯都可能係原因,各自有對應的討論,本篇只負責用記憶體數字排除或者確認顯存嫌疑,唔會喺度展開其他原因。
診斷時仲有一個原則:一次只睇一個時段的數字。工作管理員的讀數會隨程式開關而變,開住遊戲同閒置桌面兩個狀態的數字根本唔可以直接比較。要比較,就要在同一個使用場景、同一個程式狀態下比較,否則數字變化反映的只係程式開關,唔係顯存問題。
六大誤區逐一拆解
第一個誤區:「我張卡有好大顯存」,其實係將專用加共用總數當成顯存。錯。專用先係顯存,共用係系統記憶體借用上限。比較兩張卡、對規格、判斷夠唔夠用,全部只可以用專用數字。
第二個誤區:「共用記憶體好大即係張卡好勁」。錯。共用大只代表系統記憶體大,或者 Windows 容許的借用上限大,同顯示卡核心快慢、顯存顆粒快慢完全無關。一部系統記憶體好大的文書機,配一張入門獨顯,共用上限都可以好大,但張卡本身的渲染能力並無因此變強。
第三個誤區:「加系統記憶體就可以提升顯示卡效能」。錯,至少係誇大。加系統記憶體只係加大共用上限,唔會加快卡上顯存,遊戲效能瓶頸喺專用顯存本身時幫助極有限。邊界要講清楚:只有在資料真係溢出,而且後備空間都唔夠的情況下,加大上限先有緩衝作用,而且速度仍然慢。將加記憶體包裝成顯示卡升級,係誤導。
第四個誤區:「BIOS 調大共用或者預留就可以當顯存用」。錯。調大的只係上限或者預留,唔會變成高速顯存。內顯預留調大仲會食咗系統記憶體,令其他程式可用記憶體減少。調設定之前,應該先問調完之後邊個程式會因此變慢,唔好只睇顯示卡一欄的數字。
第五個誤區:「將程序欄每個程式的 GPU 記憶體數字加埋就係總用量」。唔好咁加。程式之間有共用記憶體,簡單相加會誇大。以效能頁總數為準,監測原則詳見第 108 篇。
第六個誤區:「共用記憶體用得多等於張卡壞」。錯。溢出係正常設計,係容量不足的訊號,唔係硬件故障訊號。容量問題同故障問題的處理方向完全不同:前者要處理設定同用量,後者要檢查硬件狀態。將容量問題寫成故障,只會令人行錯方向。
邊界情況:幾種容易睇錯數字的場景
系統記憶體本身好細的時候,共用上限細,溢出空間細,顯存壓力會更快變成程式問題。同時系統記憶體仲要應付中央處理器程式,兩邊爭用會放大卡頓。呢段只講機制,唔作具體容量建議,因為唔同程式的需求差別太大,一個容量數字套落所有程式都會誤導。
多顯示卡系統要分開睇。工作管理員按顯示卡編號分開顯示,唔好將兩張卡的數字加埋當成一張卡的顯存。兩張卡各自有自己的專用同共用數字,各自的瓶頸亦要各自判斷。雙卡並聯的問題,詳見第 197 篇。
虛擬機同遠端桌面入面見到的數字要特別小心。客機見到的顯示卡記憶體數字未必反映實體卡,可能是虛擬化層提供的數值,唔好用客機數字判斷實體卡。直通問題詳見第 204 篇。
遊戲或者程式自己顯示的「可用記憶體」同工作管理員數字唔一致時,唔使逐個程式辯論。兩者統計口徑唔同,程式可能將共用池都計入可用範圍,工作管理員就分開顯示專用同共用。以專用容量為準,先係穩陣的判斷方法。
幾時先要處理:一個簡單的決策次序
綜合上面全部討論,決策次序可以收窄成幾句。專用未滿、無症狀、共用使用中細,結論係唔使做任何嘢,唔好為總數大而焦慮,亦唔好為上限大而高興。專用已滿、有症狀、共用使用中上升,結論係顯存壓力真實存在,處理方向指向第 156 篇。專用已滿但無症狀,值得繼續觀察,留意係咪特定程式或者特定場景先會滿,唔好即刻斷定要換卡。專用未滿但有症狀,結論係症狀好可能唔係顯存引起,應該按其他方向排查,唔好喺記憶體數字度糾纏。
換卡從來唔係第一個答案。設定取捨、關閉唔必要的背景程式、降低最食顯存的設定,往往已經足夠令專用使用量回落到合理範圍。換卡之前,應該先用三步診斷法確認瓶頸真係喺顯存,否則換了卡都解決唔到原本的問題。
常見問題
工作管理員顯示的 GPU 記憶體總數係咪即係張卡嘅顯存
唔係。總數係專用上限加共用上限的總和,共用部分係系統記憶體借用池。張卡本身的顯存只係專用一欄的數字,比較同判斷都要用專用數字。
共用 GPU 記憶體數字好大,係咪代表張卡好勁
唔係。共用上限隨系統記憶體而變,系統記憶體大,共用上限就大,同顯示卡核心同顯存顆粒的快慢無直接關係。
點解共用記憶體用咗好少,但上限顯示好大
因為上限唔係用量。平時輕負載之下,顯示卡根本唔需要借用系統記憶體,共用實際用量自然細。總數大但使用中接近零係正常狀態,唔使處理。
加系統記憶體會唔會令遊戲變快
幫助極有限。加系統記憶體只係加大共用上限,唔會加快卡上顯存。只有在資料真係溢出,而且後備空間都唔夠的情況下,先有緩衝作用,而且取用速度仍然慢。
BIOS 調大內顯預留,係咪等於升級內顯
唔係。調大預留只係將更多系統記憶體劃給內顯,其他程式可用記憶體就會減少,取用速度仍然係系統記憶體速度,唔會變成獨顯的高速顯存。
共用記憶體用得多,係咪代表顯示卡壞咗
唔係。溢出係正常設計,代表資料量超過專用顯存,需要借用系統記憶體,係容量不足的訊號,唔係硬件故障訊號。
遊戲顯示嘅可用記憶體同工作管理員數字唔同,信邊個
以專用容量為準。遊戲可能將共用池都計入可用範圍,工作管理員就分開顯示專用同共用,兩者統計口徑唔同,唔使逐個程式辯論。
結語
工作管理員的記憶體數字本身並唔複雜,複雜的是總數帶來的錯覺。記住三句就足夠:專用先係顯存,共用只係借用上限,判斷要睇使用中唔好睇總數。呢三句可以排除大部分關於顯存容量的誤解,剩低的先係真正值得處理的設定問題或者容量問題。
如需就個別系統的記憶體數字或者顯存壓力作進一步查詢,歡迎聯絡石門達利廣場 1209 室,電話 2186 8010,WhatsApp 6558 6806。