Ախտանիշի քարտ
mem_info_vram_total: 512 MiB
Linux-ի վրա GPU-ն unified memory-ին հասնում է GTT-ի միջոցով, իսկ առաստաղը միջուկի TTM pages_limit պարամետրն է, ոչ թե BIOS-ի VRAM կտորը. բարձրացրեք ttm.pages_limit-ը միջուկի հրամանային տողում, վերագործարկեք և վերընթերցեք sysfs ֆայլերը։
- Պլատֆորմ:
- Strix Halo (Ryzen AI Max+ 395)
- Runtime:
- llama.cpp server (Vulkan)
- Հրապարակվել է:
- 02.09.2026
Ինչ եք տեսնում
Հատկացված VRAM-ի չնչին թիվ մի տուփի վրա, որը գնվել է հենց հիշողության համար։ Մոդելը, որը պետք է տեղավորվեր, հրաժարվում է բեռնվել։ ROCm-ն ու Vulkan-ը տարբեր բան են ասում այն մասին, թե որքան հիշողություն կա։ Կարդացված է մեր սերվինգ հանգույցի sysfs-ից այն պահին, երբ երկու մոդել նստած էր հիշողության մեջ.
mem_info_vram_total: 512 MiB # the BIOS-dedicated slice
mem_info_gtt_total: 120266 MiB # what the GPU can actually reach
mem_info_gtt_used: 108704 MiB # two resident models, right now
Առաջին տողն է, որ մարդկանց անհանգստացնում է; երկրորդն ու երրորդն են, որ
նշանակություն ունեն։ Այս հանգույցի վրա առաստաղն արդեն բարձրացված էր, հենց
դրա համար էլ երկու մեծ մոդել ընդհանրապես տեղավորվել է GTT-ում։
Դիստրիբուտիվի լռելյայն էջերի սահմանի դեպքում հենց mem_info_gtt_total
տողն է, որ պակաս է ստացվում։
Որտեղ ենք հանդիպել
Beelink GTR9 Pro (Ryzen AI Max+ 395), 7.0 միջուկ, llama.cpp սպասարկելիս։
Ցուցմունքները /sys/class/drm/card*/device/-ից՝ երկու բեռնված մոդելով,
2026-08-21 թվագրված հաշվետվության համար։ 2026-09-01 թվագրված տեղակայման
ուղեցույցը նույն ստուգումը դարձնում է իր Քայլ 1-ը՝ նախքան llama.cpp
server-ի Vulkan build-ը գործարկելը
(ghcr.io/ggml-org/llama.cpp:server-vulkan)։ Շրջանակը՝ ինչպես
հաշվետվությունն է այն ձևակերպում. մեկ հանգույց, միջուկի մեկ շարք, մեկ
դիստրիբուտիվ՝ llama.cpp-ի սպասարկման համար կարգավորված։
Պատճառ
Linux-ի վրա մոդելները չեն ապրում BIOS-ում հատկացված VRAM կտորում։ GPU-ն սովորական համակարգային հիշողությունը քարտեզագրում է GTT-ի միջոցով՝ միջուկի գրաֆիկական հասցեների թարգմանության աղյուսակի, իսկ թե որքան կարող է քարտեզագրել, սահմանափակում է TTM-ը՝ միջուկի գրաֆիկական սարքերի հիշողության կառավարիչը։ TTM-ի էջերի սահմանն է առաստաղը։ Շատ դիստրիբուտիվներում դրա լռելյայն արժեքը համակարգային հիշողության միայն մի մասն է, և հենց լռելյայն արժեքն է, ոչ թե firmware-ի բաժանումը, որ թույլ չի տալիս մեծ մոդելին բեռնվել։
BIOS-ի կտորը մեծացնելը տարողություն չի ավելացնում։ Սա այն է, ինչ հաղորդում է մեկ սերվինգ հանգույց՝ մեկ աշխատանքի համար կարգավորված, ոչ թե պնդում, թե մեծ կտորն ոչ մի workload-ի երբեք չի օգնում։ Կտորը կտրվում է հենց նույն ֆիզիկական հիշողությունից և անհասանելի է դառնում մնացած ամեն ինչին, ներառյալ հենց այն GTT ուղին, որը runtime-ը նախընտրում է; այն ճկուն հիշողությունը դարձնում է ոչ ճկուն։ Այս սարքաշարի մասին շրջանառվող խորհուրդների զգալի մասը լուռ ենթադրում է Windows կամ ավելի հին միջուկ։ Runtime-ները հաղորդում են «VRAM»-ի իրենց սեփական պատկերացումը, որը բոլորովին այլ բան է նշանակում; sysfs ֆայլերն են ճշմարտությունը։
Լուծում
Նախ ստուգեք ընթացիկ առաստաղը։ Արժեքն էջերով է, ոչ թե բայթերով.
# pages, at 4 KiB each
cat /sys/module/ttm/parameters/pages_limit
Եթե դա ձեր RAM-ի ընդամենը մի մասն է, բարձրացրեք այն միջուկի հրամանային
տողում և վերագործարկեք։ Մեր հանգույցի միջուկի հրամանային տողը կրում է
ներքևի արժեքը, հենց այստեղից է վերևի mem_info_gtt_total տողը; այն
հաշվարկված է այս տուփի RAM-ի համար, այնպես որ ձերն էջերով ինքներդ հաշվեք՝
պատճենելու փոխարեն.
ttm.pages_limit=30788203
Հետո վերընթերցեք երկու sysfs ֆայլերն էլ՝ նախքան որևէ այլ բանի հավատալը.
/sys/class/drm/card*/device/mem_info_gtt_total
/sys/class/drm/card*/device/mem_info_gtt_used
BIOS-ի կտորը թողեք փոքր։ Պահուստ թողեք. GTT-ի հատկացումները վերցվում են
հենց այն ֆիզիկական հիշողությունից, որից օգտվում է օպերացիոն համակարգը, իսկ
սպասարկման ընթացքում swap-ի անցնող տուփն ուշացման խնդիր ունի, որը դուք
սխալմամբ ախտորոշելու եք որպես մոդելի խնդիր։ Ստուգեք հաշվետվության
հերթականությամբ. pages_limit, mem_info_gtt_total, mem_info_gtt_used
բեռնված մոդելի պայմաններում, ազատ համակարգային հիշողությունը բեռի տակ, և
միայն դրանից հետո՝ BIOS-ը։
Բա՞ց է դեռ upstream-ում
Մենք չենք հետևում։ Հաշվետվությունը նշում է միայն, որ միջուկի և դրայվերի վարքն այս սարքաշարի վրա արագ է փոխվում, և որ իր ցուցմունքներն այն են, ինչ մեկ մեքենան հաղորդում է այսօր, ոչ թե սպեցիֆիկացիա։
Ապացույցներ
Աղբյուրներ
- Հիշողությունը Strix Halo-ի վրա. ինչու է ROCm-ը 128 ԳԲ-ից փշրանքներ տեսնում, և ինչ կարգավորել BIOS-ի փոխարեն · /reports/strix-halo-memory-allocation/
- Ինչպես տեղակայել լոկալ LLM Strix Halo-ի վրա (Ryzen AI Max+ 395). llama.cpp՝ զրոյից մինչև առաջին պատասխան · /guides/deploy-llm-strix-halo/
Այս քարտը փաստագրում է լաբորատորիայի սեփական երկաթի վրա դիտարկված մեկ խափանում; թվերը, եթե կան, ապրում են հղված աղբյուր էջում, ոչ թե այստեղ։