[2] 实验编程 · 2021年2月23日

硬件cpu内存显卡(GPU)

CPU, 内存,硬件 (设备查询)

简单的方法用 screenfetch

cpu(lscpu)

一个 server 有 x 个 chip,每个 chip 上有 y 个 core,每个 core 有 z 个 processor

liupei@T470:~$ lscpu
架构:                           x86_64
CPU 运行模式:                   32-bit, 64-bit
字节序:                         Little Endian
Address sizes:                   48 bits physical, 48 bits virtual
CPU:                             16
在线 CPU 列表:                  0-15
每个核的线程数:                   2
每个座的核数:                     8
座:                             1
NUMA 节点:                      1
厂商 ID:                        AuthenticAMD
CPU 系列:                       25
型号:                           33
型号名称:                       AMD Ryzen 7 5800X 8-Core Processor
步进:                           0
Frequency boost:                 enabled
CPU MHz:                        2872.760
CPU 最大 MHz:                   3800.0000
CPU 最小 MHz:                   2200.0000
BogoMIPS:                       7585.38
虚拟化:                         AMD-V
L1d 缓存:                       256 KiB
L1i 缓存:                       256 KiB
L2 缓存:                        4 MiB
L3 缓存:                        32 MiB

# 高性能、办公室、hw、T470

# 物理cpu个数) chips (2/1/1/1) physical CPU number 
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 

# 单颗物理cpu核数) (8/4/1/2) cores of each CPU
cat /proc/cpuinfo| grep "cpu cores"| uniq 

# 逻辑cpu个数线程)(v32/8/2/4) number OF logical CPU
# Total cores =  CPU  * core OF each CPU 
cat /proc/cpuinfo| grep "processor"| wc -l

# cpu类型 TYPE of CPU
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 32  Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
#  8  Intel(R) Core(TM)   i7-4790 CPU @ 3.60GHz
#  2  Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz
#  4  Intel(R) Core(TM)  i7-7500U CPU @ 2.70GHz

显卡(nvidia-smi)

Linux查看显卡信息:

lspci | grep -i vga

使用nvidia GPU可以:

lspci | grep -i nvidia
liupei@T470:~$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
liupei@T470:~$ lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)

查看指定显卡的详细信息用以下指令:

liupei@T470:~$ lspci -v -s 02:00.0
02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
	Subsystem: Lenovo GM108M [GeForce 940MX]
	Flags: bus master, fast devsel, latency 0, IRQ 138
	Memory at dc000000 (32-bit, non-prefetchable) [size=16M]
	Memory at 80000000 (64-bit, prefetchable) [size=256M]
	Memory at 90000000 (64-bit, prefetchable) [size=32M]
	I/O ports at d000 [size=128]
	Capabilities: <access denied>
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

Nvidia自带一个命令行工具可以查看显存的使用情况:

liupei@T470:~$ nvidia-smi 
Sun Sep 26 16:20:04 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   52C    P0    N/A /  N/A |    326MiB /  2004MiB |     11%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       837      G   /usr/lib/xorg/Xorg                147MiB |
|    0   N/A  N/A      1204      G   /usr/bin/gnome-shell               49MiB |
|    0   N/A  N/A      3722      G   /usr/lib/firefox/firefox          126MiB |
+-----------------------------------------------------------------------------+

表头释义: 

Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A; 
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示; 
Bus-Id:涉及GPU总线的相关信息; 
Disp.A:是Display Active的意思,表示GPU的显示是否初始化; 
Memory Usage:显存的使用率; 
Volatile GPU-Util:浮动的GPU利用率;
Compute M:计算模式; 
下边的Processes显示每块GPU上每个进程所使用的显存情况

如果要周期性的输出显卡的使用情况,可以用watch指令实现:

watch -n 10 nvidia-smi

参考文献:oops

内存(lsmem)

内存使用情况

free -m

内存详情 Detail of RAM

cat /proc/meminfo
# MemTotal:       65861844 kB
# MemTotal:        8113640 kB
# MemTotal:        4038792 kB
# MemTotal:       15948532 kB

要查看内存型号、频率,(使用root才行):

sudo dmidecode -t memory

硬盘使用情况

liupei@hpc:~$ df -h
文件系统                        容量  已用  可用 已用% 挂载点
/dev/mapper/ubuntu--vg-root     915G  356G  514G   41% /
/dev/mapper/ubuntu--vg-rsgroup  8.0T  5.9T  1.7T   78% /rsgroup

系统构架32/64

getconf LONG_BIT

查看屏幕分辨率

xrandr

硬件安装

NVIDIA显卡安装

ubuntu20.04系统用.run文件安装nvidia显卡驱动

  1. ubuntu 默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动
sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容

blacklist nouveau
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启)

验证nouveau是否已禁用

lsmod | grep nouveau

没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

  1. 在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html
sudo chmod 744 gtx1650-linux-64bit-495.44.run
  1. 在ubuntu下按ctrl+alt+f1进入命令行界面,
    如果出现unit lightdm.service not loaded,则先更新apt-get
sudo apt update

然后安装lightdm

sudo apt-get install lightdm

安装后会跳出一个界面,选择lightdm
然后重启:reboot

重启登录后按ctrl+alt+F3进入命令行界面
输入用户名和密码登录后输入:

sudo service lightdm stop

然后卸载掉原有驱动(如果装过的话):

 sudo apt-get remove nvidia-*  (若安装过其他版本或其他方式安装过驱动执行此项)
  1. 安装下载的显卡
sudo chmod 744 gtx1650-linux-64bit-495.44.run 
sudo ./gtx1650-linux-64bit-495.44.run 

5.安装完毕之后

挂载Nvidia驱动:

modprobe nvidia

检查驱动是否安装成功:

nvidia-smi

如果出现如下提示,则说明安装成功:

Thu Nov 11 08:29:07 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5   

参考文献:魂珏

常用设备

ASUS

总览

                          ./+o+-       liupei@asus
                  yyyyy- -yyyyyy+      OS: Ubuntu 20.04 focal
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 5.4.0-90-generic
           .++ .:/++++++/-.+sss/`      Uptime: 22h 44m
         .:++o:  /++++++++/:--:/-      Packages: 2249
        o:+o+:++.`..```.-/oo+++++/     Shell: bash
       .:+o:+o/.          `+sssoo+/    Resolution: 3200x900
  .++/+:+oo+o:`             /sssooo.   DE: GNOME 3.36.5
 /+++//+:`oo+o               /::--:.   WM: Mutter
 \+/+o+++`o++o               ++////.   WM Theme: Adwaita
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Yaru [GTK2/3]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Yaru
        \+.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 11
         `:o+++ `ohhhhhhhhyo++os:      Disk: 6.5T / 8.9T (77%)
           .o:`.syhhhhhhh/.oo++o`      CPU: AMD Ryzen 7 5800X 8-Core @ 16x 3.8GHz
               /osyyyyyyo++ooo+++/     GPU: NVIDIA GeForce GTX 1650
                   ````` +oo+++o\:     RAM: 3583MiB / 32082MiB

Thu Nov 11 08:29:07 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:09:00.0  On |                  N/A |
| 37%   27C    P8    N/A /  75W |    279MiB /  3907MiB |      1%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1523      G   /usr/lib/xorg/Xorg                 29MiB |
|    0   N/A  N/A      2576      G   /usr/lib/xorg/Xorg                161MiB |
|    0   N/A  N/A      2707      G   /usr/bin/gnome-shell               45MiB |
|    0   N/A  N/A    765490      G   ...AAAAAAAAA= --shared-files       32MiB |
+-----------------------------------------------------------------------------+

T470硬件配置

# 显卡
产品型号:940MX 
核心型号:GM108
流处理器:384
核心频率:1122MHz
纹理单元:24
显存容量:2G
显存类型:DDR3
显存位宽:64 bit
# CPU
Intel Core i7-7500U @ 4x 2.904GHz
# 内存  16 G

                          ./+o+-       liupei@T470
                  yyyyy- -yyyyyy+      OS: Ubuntu 20.04 focal
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 5.4.0-65-generic
           .++ .:/++++++/-.+sss/`      Uptime: 2d 23h 50m
         .:++o:  /++++++++/:--:/-      Packages: 2809
        o:+o+:++.`..```.-/oo+++++/     Shell: bash
       .:+o:+o/.          `+sssoo+/    Resolution: 1920x1080
  .++/+:+oo+o:`             /sssooo.   DE: GNOME 3.36.5
 /+++//+:`oo+o               /::--:.   WM: Mutter
 \+/+o+++`o++o               ++////.   WM Theme: Ambiance
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Adwaita [GTK2/3]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Adwaita
        \+.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 15
         `:o+++ `ohhhhhhhhyo++os:      Disk: 1.6T / 2.4T (66%)
           .o:`.syhhhhhhh/.oo++o`      CPU: Intel Core i7-7500U @ 4x 3.5GHz [55.0°C]
               /osyyyyyyo++ooo+++/     GPU: Mesa Intel(R) HD Graphics 620 (KBL GT2)
                   ````` +oo+++o\:     RAM: 6655MiB / 15543MiB
                          `oo++.      

拆机教程

zk服务器

# 显卡
产品型号:GeForce RTX 2080 Ti
显存容量:11 G
显存位宽:352 bit
显存类型:GDDR6
# CPU
Xeon Gold 5118 @ 3.2GHz, 24 cores
# 内存:128G

lab: 122.207.151.157

显卡计算力查询(Compute Capability

I620-G20服务器

处理器   
CPU     & 两颗2630V3 
CPU频率  & 2.4G   &  \\
处理器   & 8C    &  \
CPU个数  & 2 &  \\
二级缓存  & 20M   &  \\

主板    
芯片组   & Intel C610 &  \\
FSB总线 & 2133 &  \\
			
内存    
类型    & DDR4 2133ECC &  \\
扩展槽   & 10个PCI-E &  \\
最大内存  & 1.5T  &  \\
			
存储    
硬盘    & 1T*2  &  \\
类型    & SATA  &  \\
硬盘架数  & 8,12,15,24四种 &  \\
硬盘数   & 28 &  \\
磁盘阵列卡 & 独立SAS RAID卡 &  \\
			
网络    
控制器   & 千兆双口RJ45 &  \\
电源性能  & 安全    & 安全    &  \\

服务器 2个电源一起开,和一个电源开,会不会用多一倍的电?

服务器两个电源一起开和一个电源开,其耗电量几乎没有差别,推荐两个电源一起开。

服务器是非常重要的核心电子设备,对供电要求非常高,没有特殊的情况下严禁断电,哪怕是毫秒级的断电都不可以。采用双电源设计,就是为了满足这种设计要求,提高电源的运行可靠性,服务器运行期间,任何一台电源发生故障都不会引起服务器的停机,正常提供服务,只是一个电源会故障报警而已,提示维护人员及时处理,通常可以在服务器不停机的情况下在线直接更换电源(拔下故障电源模块、更换上新的电源模块即可)。

当两个电源一起工作时,每个电源大约承担服务器一半的功耗,负载比较轻,电源的可靠性更高。

查找服务器可用节点

#!/bin/bash
echo "**************************************************************"
echo "************************查找当前可用节点***********************"
echo ************************作者:刘  培****************************"
echo "**************************************************************"
echo "队列名 节点区间 核数 节点数 max作业 max运行 runTime maxNode 单次核"
echo "bdog  (36-49)  16c  14nodes 10    5      03月   5      40     "
echo "idog_1 (51-65) 28c  12nodes  5    3      01月   5      84     "
echo "idog_2 (66-80) 28c  14nodes  5    3      15天   5      84     "
echo "edog   (81-86) 28c  07nodes  2    1      03月   3      56     "
echo "gdog   (87GPU) 96c  01_node  2    2      12时   1      97     "
echo "lp     (150  ) 16c  01_node  1	1	   all	  1      1      "
echo "**************************************************************"
echo "本次查找可用节点如下:"
# free nodes
pbsnodes -a >test
cat test | sed  -n '1h;1!H;$g;s/\n/ /g;s/Mom/\nMom/g;$p' | sed '/^$/d' | grep free >freeNodes
rm test

# 36-49 bdog

# idog_1, (12)
#         30, 34, 35, 36, 37,
#         38, 39, 40, 41, 42,
#         43, 45
idog11=$(cat freeNodes | grep "c02n30")
idog12=$(cat freeNodes | grep "c02n34")
idog13=$(cat freeNodes | grep "c02n35")
idog14=$(cat freeNodes | grep "c02n36")
idog15=$(cat freeNodes | grep "c02n37")
idog16=$(cat freeNodes | grep "c02n38")
idog17=$(cat freeNodes | grep "c02n39")
idog18=$(cat freeNodes | grep "c02n40")
idog19=$(cat freeNodes | grep "c02n41")
idog110=$(cat freeNodes | grep "c02n42")
idog111=$(cat freeNodes | grep "c02n43")
idog112=$(cat freeNodes | grep "c02n45")
# idog_2,(14)
#       44, 46, 47, 48, 49,
#       50, 51, 52, 53, 54,
#       55, 56, 57, 59
idog21=$(cat freeNodes | grep "c02n44")
idog22=$(cat freeNodes | grep "c02n46")
idog23=$(cat freeNodes | grep "c02n47")
idog24=$(cat freeNodes | grep "c02n48")
idog25=$(cat freeNodes | grep "c02n49")
idog26=$(cat freeNodes | grep "c02n50")
idog27=$(cat freeNodes | grep "c02n51")
idog28=$(cat freeNodes | grep "c02n52")
idog29=$(cat freeNodes | grep "c02n53")
idog210=$(cat freeNodes | grep "c02n54")
idog211=$(cat freeNodes | grep "c02n55")
idog212=$(cat freeNodes | grep "c02n56")
idog213=$(cat freeNodes | grep "c02n57")
idog214=$(cat freeNodes | grep "c02n59")
# edog, (7)
#       58, 60, 61, 62, 63,
#       64, 65
edog1=$(cat freeNodes | grep "c02n58")
edog2=$(cat freeNodes | grep "c02n60")
edog3=$(cat freeNodes | grep "c02n61")
edog4=$(cat freeNodes | grep "c02n62")
edog5=$(cat freeNodes | grep "c02n63")
edog6=$(cat freeNodes | grep "c02n64")
edog7=$(cat freeNodes | grep "c02n65")
# gdog, (1)
#       01
gdog1=$(cat freeNodes | grep "c02g01")
# lp, (1)
#       23
lp1=$(cat freeNodes | grep "c02n23")

# find dogs ........ hahaha ......
if [[ "$idog11" != "" ]] || [[ "$idog12" != "" ]] || [[ "$idog13" != "" ]] || [[ "$idog14" != "" ]] || [[ "$idog15" != "" ]] || [[ "$idog16" != "" ]] || [[ "$idog17" != "" ]] || [[ "$idog18" != "" ]] || [[ "$idog19" != "" ]] || [[ "$idog110" != "" ]] || [[ "$idog111" != "" ]] || [[ "$idog112" != "" ]]
then
		echo "idog_1(12) : maxHomeWork 5, maxRunning 3, nodes=15(max:5), sNode:2*14cores"
		idog_1n=$(cat freeNodes | grep idog_1 |wc -l)
		idog_1f=$(cat freeNodes | grep idog_1|awk '{print $3}')
		echo $idog_1n '个,可用:'$idog_1f
		echo " "
		echo " "
fi
if [[ "$idog21" != "" ]] || [[ "$idog22" != "" ]] || [[ "$idog23" != "" ]] || [[ "$idog24" != "" ]] || [[ "$idog25" != "" ]] || [[ "$idog26" != "" ]] || [[ "$idog27" != "" ]] || [[ "$idog28" != "" ]] || [[ "$idog29" != "" ]] || [[ "$idog210" != "" ]] || [[ "$idog211" != "" ]] || [[ "$idog212" != "" ]] || [[ "$idog213" != "" ]] || [[ "$idog214" != "" ]]
then
		echo "idog_2(14) : maxHomeWork 5,maxRunning 3, nodes=15(max:5), sNode:2*14cores"
		idog_2n=$(cat freeNodes | grep idog_2 |wc -l)
		idog_2f=$(cat freeNodes | grep idog_2 |awk '{print $3}')
		echo $idog_2n '个,可用:' $idog_2f
		echo " "
		echo " "
fi
if [[ "$edog1" != "" ]] || [[ "$edog2" != "" ]] || [[ "$edog3" != "" ]] || [[ "$edog4" != "" ]] || [[ "$edog5" != "" ]] || [[ "$edog6" != "" ]] || [[ "$edog7" != "" ]]
then
		echo "edog(7) : maxHomeWork 2, maxRuining 1, nodes=6, sNode:2*14cores"
		edogn=$(cat freeNodes | grep edog |wc -l)
		edogf=$(cat freeNodes | grep edog |awk '{print$3}')
		echo $edogn '个,可用:' $edogf
		echo " "
		echo " "
fi
if [[ "$gdog1" != "" ]]
then
		echo "gdog(1) : maxHomeWork 2, maxRunning 2, nodes=1, 96 GPU"
		gdogn=$(cat freeNodes | grep gdog |wc -l)
		gdogf=$(cat freeNodes | grep gdog |awk '{print $3}')
		echo $gdogn '个,可用:' $gdogf
		echo " "
		echo " "
fi
if [[ "$lp1" != "" ]]
then
		echo "lp(1) : maxHomeWork 2, maxRunning 2, nodes=1, 16 GPU"
		lpn=$(cat freeNodes | grep lp |wc -l)
		lpf=$(cat freeNodes |grep lp |awk '{print $3}')
		echo $lpn '个,可用:'$lpf
		echo " "
		echo " "
fi
fNodesNum=$(cat freeNodes | wc -l)
if [ $fNodesNum == 0 ]
then
		echo "Baaaad! No dogs!"
		echo ""
		echo ""
fi

办公室电脑 (联想扬天 T4900v-00)

主要参数

台式机类型  商用电脑  操作系统   Windows 7 Home Basic(家庭普通版)\\
CPU型号	  Intel 酷睿i7-4790  4核8线程  CPU主频  3.6GHz\\
内存容量	  4GB	 硬盘容量     1TB\\
显示器尺寸  20英寸 显示芯片     NVIDIA GeForce R7240\\

处理器
CPU品牌  Intel  CPU系列  英特尔四代酷睿i5系列\\
CPU型号  Intel  酷睿i5 4570  CPU主频  3.2GHz\\
CPU主频范围	3.0GHz   三级缓存	6MB\\
核心代号 	Haswell	 核心/线程数      四核心/四线程\\
制程工艺  	22nm 	 总线类型 	DMI\\

存储设备
内存类型	DDR3	内存容量 	4GB\\
硬盘容量	1TB+4T	硬盘速度	5400转\\
光驱类型	DVD-ROM	光驱描述	支持DVD SuperMulti双层刻录\\

显示屏
显示器尺寸	20英寸	分辨率	1600x900\\
显示器描述	CCFL宽屏	 	  & \\

显卡/声卡
显卡类型	独立显卡	显示芯片	NVIDIA GeForce R7240\\
显存容量	2GB	声卡	集成\\
DirectX版本	DirectX 11	 \\

网络通信
有线网卡	1000Mbps以太网卡& &\\	 	 

I/O接口
背板I/O接口	
4xUSB2.0+2xUSB3.0;1xDVI-D;1xHDMI;1xVGA;1xRJ45(网络接口);3xS/PDIF输出;1x电源接口

前面板I/O接口
2xUSB2.0;1x耳机输出接口;1x麦克风输入接口

tx云服务器

双路主板就是说有两个CPU,单路就是一个CPU。,双路主板缺点是功耗高、价格贵、游戏性能不强。 双路CPU是发烧级电脑的一种,只是它定位的不是一般的电脑用户。对于发烧级游戏用户,往往组装的电脑会采用双显卡、水冷等顶级硬件,这里的双显卡,指的就是双独立显卡交火,需要具备支持双显卡插槽的高端主板。 同样的双路CPU也是指电脑主板中安装双CPU,也就是说主板有两个CPU插槽,通常这类主板价格很贵。这类型主板在电脑卖场很少见,只有在专业的服务器领域、工作站等电脑才会选购,因此很多电脑爱好者都不了解。