在linux系统上执行nvidia-smi
时,总有一个进程占用gpu。
1 N/A N/A 2174 G /usr/lib/xorg/Xorg 4MiB
/usr/lib/xorg/Xorg
是与X Window System(简称X11或X)相关的一个应用程序。X Window System是一个在类Unix操作系统上广泛使用的图形界面系统。它提供了基础的图形界面功能,允许在用户和操作系统之间展示图形界面。
具体来说,Xorg 是X Window System的一个开源实现,通常用于管理和协调显示设备(如显示器)、输入设备(如鼠标和键盘)以及图形卡之间的交互。它是大多数Linux发行版以及一些其他Unix-like系统中默认的X服务器。
X Server和X Client:
Xorg
作为一个X服务器(X Server),负责管理所有的图形显示和输入设备。图形和事件处理:
配置和驱动:
/etc/X11/xorg.conf
,尽管现代Xorg版本往往能够自动配置)和驱动程序来支持不同的硬件设备。扩展和多样性:
查看Xorg配置文件:
cat /etc/X11/xorg.conf
查看Xorg日志:
cat /var/log/Xorg.0.log
使用xrandr
命令调整屏幕分辨率:
xrandr --output HDMI1 --mode 1920x1080
列出可用的显示设备和支持的模式:
xrandr
编写简单的X客户端程序(C语言):
#include <X11/Xlib.h>
int main() {
//程序创建一个基本的窗口,并在按下任意键后退出
Display *d;
int s;
Window w;
XEvent e;
d = XOpenDisplay(NULL);
if (d == NULL) {
fprintf(stderr, "无法打开显示\n");
exit(1);
}
s = DefaultScreen(d);
w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1, BlackPixel(d, s), WhitePixel(d, s));
XSelectInput(d, w, ExposureMask | KeyPressMask);
XMapWindow(d, w);
while (1) {
XNextEvent(d, &e);
if (e.type == KeyPress)
break;
}
XCloseDisplay(d);
return 0;
}