前言
趁着国庆空闲期间对家里的有两台机器来进行一次小小的参数分析。一台是我日常在家使用的主力PC,主要用来浏览网页和视频、开发软件、玩FPS游戏;另一台是不会经常使用的工作站,主要用来跑深度学习模型,这台工作站的大部分配件已有5年使用时长!两台机器的配置如下:
主生产力PC配置
- 操作系统(软件):Windows 10 Pro
- 处理器:Intel Core i7-13700K
- 内存:金百达 DDR5 6000MHz 16GB x 2
- 硬盘1(系统盘):三星 SSD 990 PRO 1TB PCIe4.0
- 硬盘2(软件盘):金百达 SSD KP230 512GB PCIe3.0
- 硬盘3(文档盘):东芝 P300 (HDWD130) 3TB 7200RPM 64MB
- 显卡:七彩虹 NVIDIA GeForce RTX 3060 12G
- 声卡:Focusrite 2i2 Solo 3th Gen
- 主板:技嘉 Z790M AORUS ELITE
- 显示器1:飞利浦 272M8 IPS 144Hz 27英寸
- 显示器2:惠普 22W IPS 低蓝光 21.5英寸
- 键盘:IKBC W200 87键 青轴
- 鼠标:罗技 G PRO WIRELESS 狗屁王一代
- 耳机:罗技 G733
- 摄像头:罗技 Pro C920 1080p
- 机箱:JONSBO D30 MATX
- 电源:长城(Great Wall)850W X8 白色金牌全模
- 散热:利民(Thermalright)FC140(风冷)
家庭工作站配置
- 操作系统(软件):Ubuntu 20.04.4
- 处理器:Intel Core i7-8700K
- 内存:DDR4 32GB x 2
- 硬盘1(系统):WD Blue SN570 500GB SSD
- 硬盘2(工作区):SAMSUNG MZVLB256HAHQ-00000 250GB SSD
- 显卡:七彩虹 NVIDIA GeForce RTX 3090
- 主板:ASUS TUF Z370-PLUS GAMING
- 显示器:无
- 键盘:无
- 鼠标:无
- 机箱:ATX
- 电源:先马(SAMA)黑钻 1000W 全模组
分析工具介绍和下载
- CPU-Z (仅支持Windows平台):用于查看和收集有关计算机 CPU(中央处理器)信息的实用工具。它可以显示 CPU 的型号、频率、核心和线程数量、缓存大小以及支持的指令集等详细信息。CPU-Z 还提供了实时的 CPU 占用率监测功能,可以帮助您了解 CPU 的使用情况。CPU-Z还提供了CPU性能测试和内存带宽测试工具。
- GPU-Z (仅支持Windows平台):用于查看和监测显卡(图形处理器)信息的工具。它可以显示显卡的型号、芯片、显存容量、驱动程序版本等详细信息。GPU-Z 还提供实时监测功能,显示显卡的温度、风扇速度、GPU 负载、显存使用情况等参数,帮助用户监控显卡的性能和状态。GPU-Z 不具备基准测试功能。
- CUDA-Z :用于查看和评估 NVIDIA GPU 上 CUDA(Compute Unified Device Architecture)性能的工具。它可以显示 GPU 的型号、CUDA 版本、GPU 核心数量、内存带宽等信息。CUDA-Z 也提供了一些基准测试和性能评估功能,可用于测试 GPU 在 CUDA 加速应用程序中的性能。
可以发现,上面的分析工具除了可以对硬件进行实时监测外,有些还会提供一些基准测试模块。但是若需要进行更全面和专业的测试,需要使用其他专门的基准测试工具,如使用 Geekbench、Cinebench 测试CPU;使用 3DMark、UnigineHeaven 测试GPU。
注:由于CPU-Z官方没有提供其Linux版本,可以选择CPU-X作为其替代品。
主力PC安装CPU-Z进行分析(Windows)
CPU-Z的安装十分简单,直接下载官网上的安装文件即可。下图为打开的主页面,可以通过上方的菜单栏切换并查看主板、内容和显卡的信息。
在“测试分数”选项卡下,可以对CPU进行基准测试。此处,我选择了AMD的 锐龙9 7950X 作为参照,进行性能测试,结果如下。
主力PC安装GPU-Z进行分析(Windows)
下图为打开的主页面。
切换至“传感器”(Sensors)选项卡。
工作站安装CPU-X进行分析(ubuutu)
安装命令如下:
sudo apt update -y && sudo apt upgrade -y
sudo apt install cpu-x
安装完成后直接在终端使用命令cpu-x
启动,显示窗口如下:
相比于CPU-Z,CPU-X能提供的信息还不够全面和详细,但了解基本参数已经足够了。在System选项卡,也可以查看内存的使用情况。
工作站安装CUDA-Z进行分析(ubuutu)
在官网下载适配Linux系统的CUDA-Z程序。我这里下载的版本为CUDA-Z-0.10.251-64bit.run
。接着使用命令chmod +x CUDA-Z-0.10.251-64bit.run
授予可执行权限。最后通过命令./CUDA-Z-0.10.251-64bit.run
启动CUDA-Z即可显示如下图所示的窗口。
在“Performance”选项卡,可获得对GPU的算力评估结果,如下图所示:
很明显可以看出,GPU最擅长做的,就是单精度浮点运算。如上图结果,RTX3090的算力为39.4402Tflop/s。相较之下,它对双精度浮点和64位整型数据的处理速度就下降了许多。
Ubuntu 安装VNC(Ubuntu 20.04为例)
VNC(Virtual Network Computing)是一种远程桌面协议和软件系统,允许用户通过网络远程访问和控制另一台计算机。它的工作原理是在服务器端生成并传输图像信息,然后在客户端解码并显示图像,同时将客户端的输入操作发送回服务器进行响应。
安装VNC服务器
为了实现用我的主力PC(Windows)对工作站(Linux)进行远程桌面控制,需要分别对它们进行配置。被远程桌面的工作站上要安装有VNC服务器(提供图像数据),而访问远程桌面的主机则需要安装VNC查看器,即客户端(接收图像数据)。主流的VNC服务器有RealVNC、TightVNC等。这些VNC服务器一般都配备有对应的VNC客户端,但因为它们都遵循基本的VNC协议,因此基本可以互通使用。例如,我可以用TightVNC Server作为服务端,然后使用RealVNC Viewer作为客户端,本文就以这个方法进行配置。
(1)安装 tigervncserver
sudo apt install tigervnc-standalone-server tigervnc-xorg-extension
sudo apt install xserver-xorg-core
sudo apt install ubuntu-gnome-desktop
注:若 Ubuntu 服务器是使用自带桌面的系统镜像安装(如ubuntu-20.04.4-desktop-amd64.iso),则 xserver-xorg-core 和 ubuntu-gnome-desktop 是可以不需要再安装的,但仍可以执行上面的命令,它会安装这两个组件的可更新部分。
(2)设置VNC服务器密码
vncpasswd
(3)验证是否可正常运行
vncserver
当输出类似看到上面的内容,便意味着VNC服务器正在正常运行。接下来可以执行vncserver -kill :1
将运行中的VNC服务器停止。
(4)配置桌面环境
创建和编辑配置文件:
vi ~/.vnc/xstartup
输入以下文本:
# !/bin/sh
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -iconic &
"$SHELL" -l <<EOF
export XDG_SESSION_TYPE=x11
dbus-launch --exit-with-session gnome-session
exec /etc/X11/Xsession "$@"
EOF
vncserver -kill $DISPLAY
注:vncconfig -iconic 是通过 vncconfig 命令运行的一个具体的操作。这里使用了 -iconic 选项,它告诉 vncconfig 在启动时以隐藏窗口的方式运行(vncconfig 的主要功能之一是支持剪贴板共享)。&符号的作用是将进程放在后台运行。
将 xstartup
设置为可执行文件
sudo chmod +x ~/.vnc/xstartup
接下来,启动服务器:
vncserver -localhost no -geometry 1920x1080 -depth 24
到这里,就能在另一台机子上通过VNC客户端远程操作这台服务器了。如果你在配置过程中遇到问题可以继续往下阅读。
VNC无法正常启动?我遇到的两个问题、
(1)问题一:dbus-launch: not found
解决方法很简单,安装dbus-launch即可:
sudo apt install dbus-x11
(2)问题二:Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Could not connect: Connection refused
具体原因不明,网上的说法是系统安装的 dbus 工具与 Anaconda(我在服务器使用Anaconda作为Python包管理工具)下的 dbus 工具产生冲突。于是我使用sudo find / -name "dbus-daemon"
命令进行检查,终端输出下面的结果:
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/run/user/1000/gvfs’: Permission denied
/snap/core20/1974/usr/bin/dbus-daemon
/snap/core20/2015/usr/bin/dbus-daemon
/snap/core22/858/usr/bin/dbus-daemon
/snap/core22/864/usr/bin/dbus-daemon
/home/roboticscv/anaconda3/pkgs/dbus-1.13.18-hb2f20db_0/bin/dbus-daemon
/home/roboticscv/anaconda3/bin/dbus-daemon
/usr/bin/dbus-daemon
结果表明anaconda3确实自带dbus,但这并不能表明是二者冲突引起的。接着使用which dbus-daemon
命令查找系统的dbus-daemon可执行文件的路径,终端输出如下:
/usr/bin/dbus-daemon
即默认使用的是系统的dbus-daemon,因此不是与Anaconda冲突问题。最后才发现是因为配置文件 xstartup 的问题(前面步骤中给出的配置在我的电脑上是可用的)。我一开始使用的、导致启动失败的配置如下:
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session gnome-session --session=ubuntu &
另外需要注意的是,若 xtartup 配置文件不存在,直接用前面的命令启动 vncserver,可能客户端能够连接,但显示的会是黑屏。
(3)问题三:使用 sudo 或在 root 账号下执行 vncserver ?
TigerVNC是区分用户的,当使用 sudo 或在 root 账号下启动服务器时,相应地会使用 root 账号的配置,包括密码。这时 TigerVNC 使用 /root/.vnc/xstartup
作为启动文件(若存在,否则使用默认设置)。注意,不建议使用 root 权限来启动 TigerVNC。
客户端使用VNC Viewer进行远程访问
前面说过,VNC的不同软件基本是通用的,因此VNC客户端就有很多选择了。这里以RealVNC Viewer为例当然,你也可以选择其他查看器客户端,例如TigerVNC-Client。
在创建连接时,大部分VNC客户端都是需要服务器的 IP + 端口 + 密码。下图所示为RealVNC Viewer通过菜单栏 File -> New Connection… 创建连接(需要填写 IP + 端口,端口默认是5901)并打开连接时,弹出的密码输入框。
点击OK后,即可进入远程桌面,如下所示为我使用Windows上安装的RealVNC Viewer访问Ubuntu工作站远程桌面的截图。
在窗口的顶端,有多个功能按钮,可以使用其中的session infomation按钮查看连接信息。
可以看到,这里的信息(1080P分辨率、24位深度)和前面在服务器启动VNC服务时输入的配置是一致的。至此便大功告成了,接下来就可以在Ubuntu服务器安装具有GUI的CPU/GPU分析工具并在Windows上进行远程操作了。
请登录后查看评论内容