{"id":181858,"date":"2026-06-02T14:48:21","date_gmt":"2026-06-02T12:48:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovan-nbd-vram"},"modified":"2026-06-02T14:48:21","modified_gmt":"2026-06-02T12:48:22","slug":"opublikovan-nbd-vram","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/news\/opublikovan-nbd-vram","title":{"rendered":"Objavljen NBD-VRAM","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Objavljen je otvoreni projekt <strong>NBD-VRAM<\/strong>, koji omogu\u0107uje kori\u0161tenje dijela video memorije NVIDIA GPU-a kao swap prostora u Linuxu. Projekt je prvenstveno usmjeren na prijenosna ra\u010dunala s ugra\u0111enom radnom memorijom, gdje RAM nije mogu\u0107e pro\u0161iriti, ali u sustavu postoji diskretna grafi\u010dka kartica NVIDIA RTX\/GTX s neiskori\u0161tenom VRAM-om. Kod je napisan na C-u i shellu, a distribuira se pod licencom <strong>MIT<\/strong>.<\/p>\n<p>Ideja NBD-VRAM je jednostavna: ako sustav ve\u0107 po\u010dinje koristiti swap na SSD-u, mo\u017ee se staviti jo\u0161 jedan me\u0111usloj ispred SSD-a \u2014 video memorija. Autor daje primjer s prijenosnim ra\u010dunalom na <strong>RTX 3070 Laptop<\/strong>: od 8 GB VRAM-a izdvojeno je 7 GB za swap, a ukupno s RAM-om, zram-om i SSD swap-om sustav je dobio oko 46 GB adresabilne memorije. Predvi\u0111eni redoslijed preoptere\u0107enja je sljede\u0107i: prvo se koristi RAM, zatim VRAM kao brzi swap, zatim zram, i tek na kraju SSD.<\/p>\n<p>Tehni\u010dki, NBD-VRAM ne dodaje novi kernel voza\u010d. Mali demon dodjeljuje memoriju grafi\u010dke kartice putem <strong>CUDA Driver API<\/strong>, a zatim je predaje Linux jezgru kao blok ure\u0111aj putem <strong>NBD<\/strong> \u2014 Network Block Device \u2014 preko Unix soketa. Nakon povezivanja putem standardnog nbd-client-a, u sustavu se pojavljuje \/dev\/nbdX, koji se mo\u017ee formatirati kao obi\u010dan swap putem mkswap i aktivirati putem swapon.<\/p>\n<p>Autor posebno nagla\u0161ava da je ovaj pristup odabran zbog ograni\u010denja potro\u0161a\u010dkih NVIDIA grafi\u010dkih kartica. Izravniji put preko NVIDIA P2P API na GeForce, prema njegovim rije\u010dima, nailazi na EINVAL, jer su odgovaraju\u0107e mogu\u0107nosti zapravo dostupne samo za profesionalne i serverske modele. Opcija s izravnim pristupom BAR1 tako\u0111er nije uspjela: dostupno je samo malo mapirano podru\u010dje, a \u010ditanje iz ostatka vra\u0107a nule. NBD pristup zaobilazi ovo ograni\u010denje jer koristi uobi\u010dajeno CUDA kopiranje cuMemcpyHtoD i cuMemcpyDtoH.<\/p>\n<h2>Mogu\u0107nosti<\/h2>\n<ul>\n<li>\n<p><strong>Kori\u0161tenje VRAM-a kao obi\u010dnog Linux swap-a.<\/strong> Nakon pokretanja, demon pru\u017ea video memoriju kao \/dev\/nbd0 ili drugi NBD ure\u0111aj koji jezgru izgleda kao obi\u010dan blok ure\u0111aj.<\/p>\n<\/li>\n<li>\n<p><strong>Rad bez vlastitog modula jezgre.<\/strong> Projekt ne zahtijeva pisanje, sastavljanje i odr\u017eavanje zasebnog kernel modula, ne koristi interne simbole NVIDIA voza\u010da i trebao bi izdr\u017eati a\u017euriranja jezgre i voza\u010da bez ponovnog sastavljanja.<\/p>\n<\/li>\n<li>\n<p><strong>Usmjerenost na potro\u0161a\u010dke NVIDIA GPU-e.<\/strong> U zahtjevima su navedeni NVIDIA GPU s podr\u0161kom za CUDA, uklju\u010duju\u0107i potro\u0161a\u010dke RTX\/GTX kartice, slu\u017ebeni NVIDIA drajver s libcuda.so.1, nbd modul u Linux kernelu, nbd-client, gcc i make. CUDA Toolkit nije potreban.<\/p>\n<\/li>\n<li>\n<p><strong>systemd integracija.<\/strong> Instalacija putem install.sh dodaje vram-swap-nbd uslugu koju mo\u017eete pokrenuti putem systemctl; nakon instalacije, usluga se uklju\u010duje za automatsko pokretanje prilikom podizanja sustava.<\/p>\n<\/li>\n<li>\n<p><strong>Postavljanje veli\u010dine i prioriteta swap-a.<\/strong> U systemd-jedinici mo\u017eete postaviti VRAM_SETUP_SIZE_MB, \u0161to je gornja granica dodijeljene VRAM, i VRAM_SWAP_PRIORITY, \u0161to je prioritet swap ure\u0111aja. \u0160to je ve\u0107i prioritet, Linux \u0107e prije koristiti ovaj swap sloj.<\/p>\n<\/li>\n<li>\n<p><strong>Automatsko smanjenje zatra\u017eene veli\u010dine.<\/strong> Ako tra\u017eena koli\u010dina VRAM nije dostupna, demon poku\u0161ava smanjiti veli\u010dinu u blokovima od 512 MiB kako bi i dalje dodijelio dostupnu koli\u010dinu, na primjer, ako je dio memorije ve\u0107 zauzet kompozitorom ili grafi\u010dkom sesijom.<\/p>\n<\/li>\n<li>\n<p><strong>Provjerne skripte.<\/strong> U repozitoriju se nalazi test-nbd.sh za smoke test s pisanjem\/\u010ditanjem 1 MiB i test-fill.sh za stres testiranje cijelog VRAM dijela.<\/p>\n<\/li>\n<li>\n<p><strong>Prijavljena izvedba oko 1,3 GB\/s.<\/strong> Na RTX 3070 Laptop, autor je izmjerio sekvencijalno pisanje 7 GB u blokovima od 4 MB otprilike na razini od 1,3 GB\/s.<\/p>\n<\/li>\n<\/ul>\n<h2>Scenariji primjene<\/h2>\n<p><strong>Laptopi s lemljenom RAM-om.<\/strong> Glavni scenarij su dana\u0161nji laptopi, gdje 16 ili 32 GB radne memorije vi\u0161e nije dovoljno, ali njezino pro\u0161irenje nije mogu\u0107e. Ako takav ure\u0111aj ima diskretnu RTX kartu, dio VRAM-a se mo\u017ee koristiti kao dodatni swap sloj. To ne pretvara VRAM u punopravnu RAM, ali mo\u017ee spasiti sustav od naglog prelaska na spori SSD swap ili od OOM-killera pri vr\u0161nim optere\u0107enjima.<\/p>\n<p><strong>Te\u0161ka radna okru\u017eenja programera.<\/strong> IDE, preglednici s desetcima kartica, Docker kontejneri, lokalne baze podataka, kompilacije velikih projekata i testna okru\u017eenja lako stvaraju trenuta\u010dne vrhunce potro\u0161nje memorije. U takvom scenariju NBD-VRAM mo\u017ee raditi kao buffer: ne ubrzava normalan rad, ve\u0107 ubla\u017eava trenutak kada RAM ponestane.<\/p>\n<p><strong>Smanjenje optere\u0107enja na SSD swap.<\/strong> Ako se swap na SSD-u \u010desto koristi, to ne samo da je sporije, ve\u0107 stvara i dodatno zapisivanje na ure\u0111aj. VRAM-swap mo\u017ee se postaviti s vi\u0161im prioritetom, tako da sustav prvo ispu\u0161ta stranice u video memoriju prilikom preoptere\u0107enja RAM-a, a tek potom se obra\u0107a SSD-u. Ovo je posebno va\u017eno za prijenosna ra\u010dunala, gdje je SSD \u010desto neizvadio ili skup za zamjenu.<\/p>\n<p><strong>Kombinacija sa zram.<\/strong> Autor izravno opisuje shemu, gdje VRAM swap dobiva vi\u0161i prioritet i prvi uzima 'preliv' memorije, zram se koristi kao sljede\u0107i nivo, a SSD ostaje posljednja crta obrane. Ova shema mo\u017ee biti korisna za radne stanice i prijenosna ra\u010dunala gdje je va\u017enije odr\u017eati odziv sustava prilikom nedostatka memorije nego dobiti maksimalnu predvidivost latencija.<\/p>\n<p><strong>Lokalni AI\/LLM zadaci oko GPU-a, ali ne umjesto VRAM-a za model.<\/strong> NBD-VRAM ne pove\u0107ava video memoriju dostupnu CUDA aplikaciji kao VRAM za model. Ovo je obrnuti scenarij: ne RAM se koristi kao VRAM, ve\u0107 VRAM se koristi kao swap za uobi\u010dajenu Linux memoriju. Stoga projekt ne omogu\u0107ava izravno u\u010ditavanje ve\u0107eg modela u GPU. Ali mo\u017ee biti koristan na stroju gdje uz LLM inferencu rade preglednici, IDE, indeksatori, Python okru\u017eenja i kontejneri, a sistemska RAM po\u010dinje ponestajati.<\/p>\n<p><strong>Ku\u0107ne i eksperimentalne radne stanice.<\/strong> Projekt je zanimljiv za korisnike \u010dija grafi\u010dka kartica \u010desto miruje izvan igara, renderiranja ili ML zadataka. Na primjer, 8\u201312 GB VRAM-a na desktop GeForce mo\u017ee se privremeno pretvoriti u dodatni sloj swap-a za te\u0161ke zadatke kompilacije, obrade podataka ili pokretanja. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/vps\/\" title=\"virtualnih ma\u0161ina\" data-wpil-keyword-link=\"linked\">virtualnih ma\u0161ina<\/a>.<\/p>\n<h2>Ograni\u010denja<\/h2>\n<p>NBD-VRAM nije zamjena za radnu memoriju. Pristup takvom swapu ide putem lanca kernel swap \u2192 \/dev\/nbdX \u2192 nbd draiver \u2192 Unix socket \u2192 demon \u2192 CUDA kopiranje \u2192 VRAM, stoga \u0107e latencije i pona\u0161anje biti razli\u010diti od stvarne RAM-a. To je vi\u0161e hitni ili me\u0111usloj izme\u0111u RAM-a i SSD-a nego na\u010din 'dodavanja memorije' bez posljedica.<\/p>\n<p>Tako\u0111er, projekt se oslanja na slu\u017ebeni NVIDIA stack s CUDA. Nouveau\/Nova za ovo nisu prikladni, jer je potreban libcuda.so.1. Phoronix <a rel=\"nofollow\" href=\"https:\/\/www.phoronix.com\/news\/NVIDIA-NBD-VRAM\">tako\u0111er isti\u010de<\/a>, da je NBD-VRAM stvoren upravo za potro\u0161a\u010dke NVIDIA GPU-ove, gdje alternativni pristupi putem NVIDIA P2P API ne rade.<\/p>\n<p>U kona\u010dnici, NBD-VRAM je mali, ali zanimljiv sistemski hak za Linux: ne \u010dini \u010duda i ne zamenjuje nadogradnju RAM-a, ali omogu\u0107ava kori\u0161\u0107enje neiskori\u0161\u0107ene video memorije kao dodatni nivo swap-a pre SSD-a. Za laptope sa integrisanom memorijom i diskretnom RTX karticom, ovo bi mogla biti prakti\u010dna opcija za podno\u0161enje vr\u0161nih optere\u0107enja bez trenutnog pada aplikacija ili bolnog prelaska na sporiji disk.<\/p>\n<p>Izvor: <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/hardware\/18308769\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 NBD-VRAM, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438 NVIDIA GPU \u043a\u0430\u043a swap-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 Linux. \u041f\u0440\u043e\u0435\u043a\u0442 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0438 \u0441 \u0440\u0430\u0441\u043f\u0430\u044f\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0433\u0434\u0435 RAM \u043d\u0435\u043b\u044c\u0437\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0435\u0441\u0442\u044c \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430 NVIDIA RTX\/GTX \u0441 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 VRAM. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 C \u0438 shell, \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0418\u0434\u0435\u044f NBD-VRAM \u043f\u0440\u043e\u0441\u0442\u0430: \u0435\u0441\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181858","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 NBD-VRAM, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438 NVIDIA GPU \u043a\u0430\u043a swap-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 Linux.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/news\/opublikovan-nbd-vram\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d NBD-VRAM | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 NBD-VRAM, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438 NVIDIA GPU \u043a\u0430\u043a swap-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 Linux.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/news\/opublikovan-nbd-vram\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-06-02T12:48:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-02T12:48:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Objavljen NBD-VRAM | ProHoster","description":"Objavljen je otvoreni projekat NBD-VRAM, koji omogu\u0107ava kori\u0161\u0107enje dela video memorije NVIDIA GPU-a kao swap prostora u Linuxu.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/opublikovan-nbd-vram","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d NBD-VRAM | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 NBD-VRAM, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438 NVIDIA GPU \u043a\u0430\u043a swap-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 Linux.","og:url":"https:\/\/prohoster.info\/hr\/blog\/news\/opublikovan-nbd-vram","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-06-02T12:48:22+00:00","article:modified_time":"2026-06-02T12:48:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/181858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=181858"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/181858\/revisions"}],"predecessor-version":[{"id":182088,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/181858\/revisions\/182088"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=181858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=181858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=181858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}