You need to use the following commands to find out graphics card (VGA) memory on Linux:
- lspci command – It is a utility for displaying information about all PCI buses in the system and all devices connected to them.
- /var/log/Xorg.0.log – Xorg log file.
- lshw command – List CPU, CPU and other hardware on Linux.
- glxinfo command – See information about the GLX implementation on Linux on a given X display.
lspci command example to find out video card (GPU) memory ram size on Linux
Open a terminal and type the lspci command to list PCI devices on Linux:
$ lspci
Output:
00:00.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (rev 03)
00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02)
01:00.0 Network controller: RaLink RT2561/RT61 rev B 802.11g
01:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
01:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
You need to use string called devices in the specified domain – 00:02.0 VGA (highlighted in red color to display memory info):
$ lspci -v -s 00:02.0
Sample outputs:
00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 03) (prog-if 00 [VGA])
Subsystem: Giga-byte Technology Unknown device 2562
Flags: bus master, fast devsel, latency 0, IRQ 177
Memory at d0000000 (32-bit, prefetchable) [size=128M]
Memory at d8200000 (32-bit, non-prefetchable) [size=512K]
Capabilities:
This listing shows an Intel video card with 128 MB of video RAM. If you cannot find devices in the specified domain use following command and look for your display card name and memory field:
$ lspci -v | less
Identify onboard Intel/AMD or Nvidia dedicated GPU on Linux
Simply run the following lshw command. It is a small tool to extract detailed information on the hardware configuration of the Linux machine:
$ sudo lshw -C display
Linux Find Out Video Card GPU Memory RAM Size Using Command Line
Another option is to run the following command:
$ glxinfo | more
One can use the egrep command as follows to filter out info:
$ glxinfo | egrep -i 'device|memory'
To get summary i.e. brief info run:
$ glxinfo -B
Sample outputs:
name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: X.Org (0x1002) Device: Radeon RX 580 Series (POLARIS10 / DRM 3.25.0 / 4.17.14-041714-generic, LLVM 6.0.0) (0x67df) Version: 18.0.5 Accelerated: yes Video memory: 4058MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.1 Memory info (GL_ATI_meminfo): VBO free memory - total: 4058 MB, largest block: 4058 MB VBO free aux. memory - total: 4089 MB, largest block: 4089 MB Texture free memory - total: 4058 MB, largest block: 4058 MB Texture free aux. memory - total: 4089 MB, largest block: 4089 MB Renderbuffer free memory - total: 4058 MB, largest block: 4058 MB Renderbuffer free aux. memory - total: 4089 MB, largest block: 4089 MB Memory info (GL_NVX_gpu_memory_info): Dedicated video memory: 4058 MB Total available memory: 8147 MB Currently available dedicated video memory: 4058 MB OpenGL vendor string: X.Org OpenGL renderer string: Radeon RX 580 Series (POLARIS10 / DRM 3.25.0 / 4.17.14-041714-generic, LLVM 6.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 3.0 Mesa 18.0.5 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
Xorg log file to get the GPU info on Linux
Open a command-line terminal (select Applications > Accessories > Terminal), and then type:
$ grep -i --color memory /var/log/Xorg.0.log
Sample outputs:
(--) Aug 02 12:16:20 NVIDIA(0): Memory: 1048576 kBytes
(II) Aug 02 12:16:21 NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.
(==) NVIDIA(0): Disabling shared memory pixmaps
The above output indicate that my Nvidia card has 1024MB ram. The following is taken from my Macbook, which has Intel GM965 Video card. It shares memory from main RAM:
$ grep -i memory /var/log/Xorg.0.log
Sample outputs:
[2318869.434] (II) intel(0): detected 15868 kB stolen memory. [2318869.472] (II) intel(0): I830CheckAvailableMemory: 1966080 kB available [2318869.486] (II) intel(0): Attempting memory allocation with tiled buffers. [2318870.197] (II) intel(0): Fixed memory allocation layout: [2318870.197] (II) intel(0): 0x00f7f000: end of stolen memory [2318870.197] (II) intel(0): 0x00f7f000-0x0fffffff: DRI memory manager (246276 kB) [2318870.197] (II) intel(0): BO memory allocation layout: [2318870.197] (II) intel(0): 0x00f7f000: start of memory manager [2318870.197] (II) intel(0): 0x10000000: end of memory manager
Conclusion
You must use combination of various Linux commands to find out video card (GPU) memory (RAM) size and make of card. I strongly suggest that you read the following man pages:
$ man glxinfo
$ man lspci
$ man lshw
🐧 29 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
How do I check the amount of video card memory being used?
Thx, that helped me, but waht means “access denied” after the “capabilities”? That means my vga card is not in use? (I think)
try sudo
heheh ur a furry <3 murr
fucking weird
Thank you but can you clarify; how do you view video memory in use additionally?
When I follow the above instructions, I get a much lower amount of memory than I know what is on this particular video card. The need for this is when I don’t know how much memory; on a laptop for instance.
@Fox
I don’t know why exactly the capabilities require root privs but that seems to be the case. Try:
sudo lspci -v -s 00:02.0
what means “access denied” after the “capabilities”?
Do use superuser. #sudo lspci -v -s 00:02.0
how do i find how much memory my video card has?
You could also do:
To focus the -v option right to the VGA adapter
Hi,
for this example the output of your video card is the same as the one ‘m using, and I cannot find the correct intel video driver (the one currently install keeps crashing every so often) which video driver did you install –for Intel Corporation 82845G/GL?
I’m using arch linux
Thanks.
For Xorg:
Saludos desde Argentina!
how to run .exe files in linux?
You cannot run .exe files under UNIX/Linux operating systems. These .exe files are solely created for Windows Operating Systems. You have something else instead of .exe files under Linux and they are called .rpm files which are the executable formats, do not be confused with the definition of executable and .exe file.
No. RPM files are just archives (packages) of software, and they are meant to be used on Red Hat-based distros (such as Fedora and CentOS). Linux executable files do not have a specific extension, but are usually in the ELF format. You can also “execute” interpreted scripts, such as shell and Python scripts.
Well, when first i landed to the Unix world, i would assume that everything will be the same as is in Windows Operating Systems. Reluctantly I would try to install some proprietary graphics software coded for Windows Platform and I would receive some obscure and absurd response from my Linux machine. This is the case that a newbie assumes that he/she is able to do the same in both platforms. Albeit, I have to mention that if someone really wants to know the intricacy of operating systems then the best book to start with is “Modern Operating Systems” by venerable Andrews S. Tanenbaum.
if you have binary .exe then use wine
or if .net .exe use mono to run exe that my personal experience
This is what I’m using in one of my scripts. And as the comments say, it doesn’t always return the correct value.
As a matter of fact, you *can* open .EXE files in all major distros. Just make sure you install Wine.
Ubuntu & Debian: sudo apt-get install wine
hey hi, i just wanna know how and where do i run the .SH file format, am using FEDORA 14.
thanx.
Hi,
using the commands mentioned in this article, I found that my notebook has 256MB video memory (32-bit, prefetchable), (Intel 945GM) on Linux Ubuntu 11.10.
However when I try to change/select the video memoy in BIOS it gives only two options : 64MB or 128 MB. I have set it to 128MB, but Ubuntu is showing 256MB … How is it possible ??
My Xorg.0.log has a line like this:
46 :[ 7.319] (–) PCI:*(0:0:2:0) 8086:2a02:17aa:20b5 rev 12, Mem @ 0xf8100000/1048576, 0xe0000000/268435456, I/O @ 0x00001800/8
0xe0000000/268435456 is how many bytes of memory my video card has.
Really helpful article.
Googled “how to check video memory on ubuntu server”, you guys were at second.
Very helpful. I was trying to find out how much memory my integrated card had for a windows game using the PlayOnLinux frontend for Wine.
Linked here from ubuntuforums post from 3 years ago…
Thanks!!! Just what I was looking for
Hi guys,
just dropping a comment to say thanks for your help :)
Found a lot of useful info!
I’m trying to find out the memory of my Graphics Card, but these commands arent working for me, what ‘terminal’ am i supposed to be using???
never mind, i figured it out.
I googled “arch find out how much memory video card has” and this site popped up first. Very helpful and thank you.
thanks very much!!!