240107-RHEL8+RHEL9配置安装:NVIDIA驱动(15步)+CUDA(4步)+CUDNN(5步)+GPU压力测试

Section 0: 基础知识

  • CUDA、cuDNN 和 PyTorch 版本的选择与搭配指南

  • 安装优先级: 显卡驱动 → CUDA → CUDA Toolkit → cuDNN → Pytorch

    • 即显卡驱动决定了CUDA版本,CUDA版本决定了CUDA Toolkit、cuDNN、Pytorch各自的版本
    • 提前下载 | CUDA
    • 提前下载 | CUDNN
    • 在线下载 | PyTorch
  • 最终检测
    在这里插入图片描述


Section 1: 注意事项

⚠️ 注意事项1: RHEL除非注册付费,否则如法直接使用yum

  • 解决方法 | RHEL配置其它yum源

⚠️ 注意事项2: 通过本地yum源安装kernel-develkernel-headersgcc等工具包

  • 常见问题 | 很多博客直接提供安装命令,但没有提到内核kernel版本冲突的问题
yum -y install kernel-devel
yum -y install epel-release
yum -y install gcc
  • 解决方案1: 通过配置本地Yum源,解决内核冲突问题,推荐使用 ⭐️

  • 解决方案2: 通过在线查询并下载对应的内核版本,解决内核冲突问题,尚未验证 🤷

  • 正确配置安装工具库之后,可通过下面两行命令查看版本是否一致,例如:是否都会el8_8,如果不一致,则安装有问题

(base) [root@localhost gpu-burn-master]# uname -r ⭐️
4.18.0-477.10.1.el8_8.x86_64
(base) [root@localhost gpu-burn-master]# rpm -qa | grep kernel ⭐️
kernel-4.18.0-477.10.1.el8_8.x86_64
kernel-headers-4.18.0-477.10.1.el8_8.x86_64
kernel-tools-4.18.0-477.10.1.el8_8.x86_64
kernel-devel-4.18.0-477.10.1.el8_8.x86_64
kernel-core-4.18.0-477.10.1.el8_8.x86_64
kernel-tools-libs-4.18.0-477.10.1.el8_8.x86_64
kernel-modules-4.18.0-477.10.1.el8_8.x86_64

Section 2: RHEL8+RHEL9安装NVIDIA驱动

  • 参考视频 | RHEL9.0测试安装nvidia显卡驱动_哔哩哔哩_bilibili
  • 驱动下载 | 如图所示意,选择自己显卡所对应的驱动,然后下载

在这里插入图片描述

🎯 Step 01: 查看是否已禁用`nouveau`
(base) [root@localhost clash-for-linux-master]# lsmod | grep nouveau

🎯 Step 02: 查看显卡是否能被检测到
(base) [root@localhost clash-for-linux-master]# lspci | grep VGA
02:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)

🎯 Step 03: 通过`vim`,设置并禁用`nouveau`
(base) [root@localhost clash-for-linux-master]# vim /etc/modprobe.d/blacklist-nouveau.conf 
(base) [root@localhost clash-for-linux-master]# cat /etc/modprobe.d/blacklist-nouveau.conf 
blacklist nouveau
options nouveau modeset=0

🎯 Step 04: 重新初始化RAM磁盘,确保系统包含了最新的驱动程序和配置
(base) [root@localhost clash-for-linux-master]# dracut -f 

🎯 Step 06: 选用本地的`yum`源配置
- 详情参阅:https://blog.csdn.net/qq_33039859/article/details/135256790?spm=1001.2014.3001.5501

(base) [root@localhost clash-for-linux-master]# cd /etc/yum.repos.d/
(base) [root@localhost yum.repos.d]# ls
bak  centos8.repo  config_cuda_cudnn  docker-ce.repo  microsoft-edge.repo  redhat.repo
(base) [root@localhost yum.repos.d]# mkdir config_ali_repo
(base) [root@localhost yum.repos.d]# mv *.* config_ali_repo/
(base) [root@localhost yum.repos.d]# ls
bak  config_ali_repo  config_cuda_cudnn
(base) [root@localhost yum.repos.d]# cp config_cuda_cudnn/* .
(base) [root@localhost yum.repos.d]# ls -al
total 28
drwxr-xr-x.   5 root root  164 Jan  7 06:32 .
drwxr-xr-x. 154 root root 8192 Jan  7 04:52 ..
drwxr-xr-x.   2 root root  125 Jan  6 23:16 bak
drwxr-xr-x.   2 root root   94 Jan  7 06:31 config_ali_repo
drwxr-xr-x.   2 root root  105 Jan  7 04:17 config_cuda_cudnn
-rw-r--r--.   1 root root  210 Jan  7 06:32 cudnn-local-rhel8-8.9.6.50.repo
-rw-r--r--.   1 root root  358 Jan  7 06:32 redhat.repo
-rw-r--r--.   1 root root  333 Jan  7 06:32 redhat.repo.bak
-rw-r--r--.   1 root root  159 Jan  7 06:32 rhel8.repo

🎯 Step 07: 查看本地`yum`源的配置信息
(base) [root@localhost yum.repos.d]# cat rhel8.repo 
[RHEL-BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1

[RHEL-AppStream]
name= AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1

🎯 Step 08: 重启系统
(base) [root@localhost yum.repos.d]# reboot

🎯 Step 09: 安装一系列开发工具和编程语言编译器,如gcc,mark,debugging tools等
(base) [root@localhost yum.repos.d]# yum group install "Development Tools" ⭐️
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

cudnn-local-rhel8-8.9.6.50                                                          2.9 MB/s | 3.0 kB     00:00    
BaseOS                                                                              2.7 MB/s | 2.8 kB     00:00    
AppStream                                                                           3.1 MB/s | 3.2 kB     00:00    
Dependencies resolved.
====================================================================================================================
 Package                    Architecture              Version                      Repository                  Size
====================================================================================================================
Installing Groups:
 Development Tools                                                                                                 

Transaction Summary
====================================================================================================================

Is this ok [y/N]: y
Complete!


🎯 Step 10: 安装用于处理ELF(可执行和链接格式)文件的开发工具库:elfutils-libelf-devel
(base) [root@localhost yum.repos.d]# yum install elfutils-libelf-devel ⭐️
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:01:11 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package elfutils-libelf-devel-0.188-3.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

🎯 Step 11: 切换到CUDA和CUDNN的下载文件夹
(base) [root@localhost yum.repos.d]# cd /home/lgk/Downloads/
(base) [root@localhost Downloads]# ls -al
total 6427280
drwxr-xr-x.  4 lgk  lgk        4096 Jan  7 05:41 .
drwx------. 18 lgk  lgk        4096 Jan  7 03:15 ..
drwxr-xr-x.  9 root root        180 Jan  7 05:39 clash-for-linux-master
-rw-rw-r--.  1 lgk  lgk    16784320 Jan  7 05:31 clash-for-linux-master.zip
-rw-rw-r--.  1 lgk  lgk   111225075 Jan  7 05:41 Clash.for.Windows-0.20.28-x64-linux.tar.gz
-rwxr-x---.  1 lgk  lgk  4207617207 Jan  6 22:50 cuda_12.0.1_525.85.12_linux.run
-rw-rw-r--.  1 lgk  lgk  1430362197 Jan  6 22:51 cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk       25128 Jan  6 22:48 epel-release-latest-8.noarch.rpm
-rw-r--r--.  1 root root     348036 Jan 11  2022 freeimage-3.17.0-5.el8.x86_64.rpm
-rw-r--r--.  1 root root      39676 Jan 11  2022 freeimage-devel-3.17.0-5.el8.x86_64.rpm
drwxr-xr-x.  2 root root       4096 Jan  7 04:41 gpu-burn-master
-rw-rw-r--.  1 lgk  lgk       14391 Jan  7 04:30 gpu-burn-master.zip
-rw-r--r--.  1 root root     451848 Apr  7  2020 jxrlib-1.1-1.el8.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   164378334 Jan  6 22:33 microsoft-edge-stable_120.0.2210.121-1_amd64.deb
-rw-rw-r--.  1 lgk  lgk   166605200 Jan  7 04:48 microsoft-edge-stable-120.0.2210.121-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   141613749 Jan  7 02:56 Miniconda3-latest-Linux-x86_64.sh
-rwxrwxr-x.  1 lgk  lgk   341737575 Jan  7 00:49 NVIDIA-Linux-x86_64-535.146.02.run
-rw-rw-r--.  1 lgk  lgk      209952 Jan  6 22:48 yum-4.7.0-4.el8.noarch.rpm
-rw-rw-r--.  1 lgk  lgk       74276 Jan  6 22:48 yum-utils-4.0.21-3.el8.noarch.rpm

🎯 Step 12: 切换到文本命令模式安装驱动 ⭐️
(base) [root@localhost Downloads]# # init 3
(base) [root@localhost Downloads]# # localhost login: root
(base) [root@localhost Downloads]# # Password: 

🎯 Step 13: 改变run文件为可执行文件,并运行安装 ⭐️
(base) [root@localhost Downloads]# chmod +x NVIDIA-Linux-x86_64-535.146.02.run 
(base) [root@localhost Downloads]# # ./NVIDIA-Linux-x86_64-535.146.02.run 

🎯 Step 14: 在后续所有交互界面中只用选择yes or ok ⭐️
(base) [root@localhost Downloads]# # click yes or ok

🎯 Step 15: 检查NVIDIA驱动是否安装成功 
(base) [root@localhost Downloads]# nvidia-smi ⭐️
Sun Jan  7 06:48:41 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02             Driver Version: 535.146.02   CUDA Version: 12.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  NVIDIA TITAN Xp                Off | 00000000:02:00.0  On |                  N/A |
| 23%   29C    P5              23W / 250W |    508MiB / 12288MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2787      G   /usr/libexec/Xorg                           124MiB |
|    0   N/A  N/A      2902      G   /usr/bin/gnome-shell                        133MiB |
|    0   N/A  N/A     28574      G   /usr/lib64/firefox/firefox                   11MiB |
|    0   N/A  N/A     28943      G   ...45,262144 --variations-seed-version      235MiB |
+---------------------------------------------------------------------------------------+

Section 3: RHEL8+RHEL9安装CUDA+CUDNN

  • Redhat8 安装 cuda11.8 + cudnn 8.6 + trt8.5.3 保姆级教程_redhat安装cudnn-CSDN博客
  • Installation Guide - NVIDIA Docs

Section 3.1: 安装CUDA

🎯 Step 01: 切换到CUDA下载目录
(base) [root@localhost Downloads]# ls -al
total 6427280
drwxr-xr-x.  4 lgk  lgk        4096 Jan  7 05:41 .
drwx------. 18 lgk  lgk        4096 Jan  7 03:15 ..
drwxr-xr-x.  9 root root        180 Jan  7 05:39 clash-for-linux-master
-rw-rw-r--.  1 lgk  lgk    16784320 Jan  7 05:31 clash-for-linux-master.zip
-rw-rw-r--.  1 lgk  lgk   111225075 Jan  7 05:41 Clash.for.Windows-0.20.28-x64-linux.tar.gz
-rwxr-x---.  1 lgk  lgk  4207617207 Jan  6 22:50 cuda_12.0.1_525.85.12_linux.run ⭐️
-rw-rw-r--.  1 lgk  lgk  1430362197 Jan  6 22:51 cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm ⭐️
-rw-rw-r--.  1 lgk  lgk       25128 Jan  6 22:48 epel-release-latest-8.noarch.rpm
-rw-r--r--.  1 root root     348036 Jan 11  2022 freeimage-3.17.0-5.el8.x86_64.rpm
-rw-r--r--.  1 root root      39676 Jan 11  2022 freeimage-devel-3.17.0-5.el8.x86_64.rpm
drwxr-xr-x.  2 root root       4096 Jan  7 04:41 gpu-burn-master
-rw-rw-r--.  1 lgk  lgk       14391 Jan  7 04:30 gpu-burn-master.zip
-rw-r--r--.  1 root root     451848 Apr  7  2020 jxrlib-1.1-1.el8.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   164378334 Jan  6 22:33 microsoft-edge-stable_120.0.2210.121-1_amd64.deb
-rw-rw-r--.  1 lgk  lgk   166605200 Jan  7 04:48 microsoft-edge-stable-120.0.2210.121-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   141613749 Jan  7 02:56 Miniconda3-latest-Linux-x86_64.sh
-rwxrwxr-x.  1 lgk  lgk   341737575 Jan  7 00:49 NVIDIA-Linux-x86_64-535.146.02.run
-rw-rw-r--.  1 lgk  lgk      209952 Jan  6 22:48 yum-4.7.0-4.el8.noarch.rpm
-rw-rw-r--.  1 lgk  lgk       74276 Jan  6 22:48 yum-utils-4.0.21-3.el8.noarch.rpm

🎯 Step 02: 通过命令行安装`CUDA`
- i:安装
- v:显示安装进度
- h:hash验证
(base) [root@localhost mnistCUDNN]# sudo rpm -ivh cuda_12.0.1_525.85.12_linux.run

🎯 Step 03: 配置`.bashrc`文件
sudo vim ~/.bashrc
export PATH="/usr/local/cuda-12.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.0/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc

🎯 Step 04: 检查NVIDIA驱动师傅哦安装成功 
(base) [root@localhost mnistCUDNN]# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

Section 3.2: 安装CUDNN

  • 参考官网:Installation Guide - NVIDIA Docs

  • 注意事项:cuda.X.Y中的XY是NVIDIA的驱动版本,而非CUDA版本
    在这里插入图片描述

  • 具体操作

🎯 Step 01: 通过命令行安装`CUDNN`
(base) [root@localhost Downloads]# sudo rpm -ivh cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
	package cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64 is already installed

🎯 Step 02: 通过命令行安装`libcudnn8`
- i:安装
- v:显示安装进度
- h:hash验证

(base) [root@localhost Downloads]# sudo yum install libcudnn8-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:22:45 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!


🎯 Step 03: 通过命令行安装`libcudnn8-devel`
(base) [root@localhost Downloads]# sudo yum install libcudnn8-devel-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:23:11 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-devel-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

🎯 Step 04: 通过命令行安装`libcudnn8-samples`
(base) [root@localhost Downloads]# sudo yum install libcudnn8-samples-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:23:36 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-samples-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

🎯 Step 05: 测试cudnn是否安装成功
cd /usr/src/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

...
...
...

Test passed!

Section 3.3: 测试CUDA与CUDNN

  • 通过Pytorch验证CUDACUDNN已经配置成功
(base) [lgk@localhost gpu-burn-master]$ conda activate ruifu
(ruifu) [lgk@localhost gpu-burn-master]$ python
Python 3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.backends.cudnn.version()
8902
>>> 

Section 4: GPU压力测试

  • GPU压力测试工具安装指导(RHEL8.2) - 知乎
(base) [root@localhost gpu-burn-master]# cd /home/lgk/Downloads/gpu-burn-master/
(base) [root@localhost gpu-burn-master]# make
make: 'gpu_burn' is up to date.
(base) [root@localhost gpu-burn-master]# ./gpu_burn
Run length not specified in the command line. Using compare file: compare.ptx
Burning for 10 seconds.
GPU 0: NVIDIA TITAN Xp (UUID: GPU-c2611617-5a63-404d-571b-afe332aae1e7)
Initialized device 0 with 12186 MB of memory (11510 MB available, using 10359 MB of it), using FLOATS
Results are 268435456 bytes each, thus performing 38 iterations
50.0%  proc'd: 38 (9356 Gflop/s)   errors: 0   temps: 26 C 
	Summary at:   Sun Jan  7 07:55:53 EST 2024

90.0%  proc'd: 76 (9728 Gflop/s)   errors: 0   temps: 38 C 
	Summary at:   Sun Jan  7 07:55:57 EST 2024

100.0%  proc'd: 114 (9784 Gflop/s)   errors: 0   temps: 42 C 
Killing processes with SIGTERM (soft kill)
Freed memory for dev 0
Uninitted cublas
done

Tested 1 GPUs:
	GPU 0: OK

Section 5: 参考文献

Section 5.1: RHEL系统安装

  • 光驱下载 | 通过Rufus制作RHEL的启动盘,并用于系统安装

  • 参考链接 | 通过Rufus制作RHEL的启动盘,并用于系统安装 — Ref1

  • 参考链接 | 通过Rufus制作RHEL的启动盘,并用于系统安装 — Ref2

Section 5.2: RHEL相关软件

  • 软件下载|Miniconda

  • 软件下载 | Edge

    • 解决方案 | Edge安装时报错及其解决方案
  • 上网配置 | GitHub - wnlen/clash-for-linux: clash-for-linux

  • 代理设置 | GitHub - ghostxu97/clash-for-linux

在这里插入图片描述


Section 5.3: 常见问题

  • 问题1: nividia-smi命令提供了哪些信息?
  • 答案1:
    在这里插入图片描述
  • 问题2: 如何选择CUDA版本?
  • 答案2:
    如果对于CUDA版本没有要求,一般选择一个不高于本机支持的最高CUDA版本安装即可,然后按照CUDA版本去下载对应的cuDNN版本
  • 问题3: 当前PyTorch最新支持的版本是多少?
  • 答案3:
    截止20240104,PyTorch支持的CUDA版本:CUDA 11.8, CUDA 12.1
    在这里插入图片描述
  • 问题 4:20240104: CUDNN有多个版本,如何选择?
  • 答案 4:
    知识点:cuda版本中的.x是什么意思?以Download cuDNN v8.9.4 (August 8th, 2023), for CUDA 12.x为例。“12.x” 表示 CUDA 版本号的一种通用表示法,其中 “x” 表示可以是任何数字,表示适用于该主要 CUDA 版本的所有次要版本。具体来说,CUDA 包括一个主要版本号和一个次要版本号,例如 CUDA 11.0、CUDA 11.1、CUDA 11.2 等。主要版本号通常表示 CUDA 的重大更新或变化,而次要版本号表示小的修复或改进。“cuDNN v8.9.4 for CUDA 12.x” 表示 cuDNN v8.9.4 是为 CUDA 12.x 系列的所有 CUDA 12 版本而设计的。也就是说,cuDNN v8.9.4 支持 CUDA 12.0、CUDA 12.1、CUDA 12.2 等所有的 CUDA 12.x 版本。这种表示法使得 cuDNN 能够与多个 CUDA 12 的次要版本兼容。
  • 问题 5:当需要的CUDA版本高于当前驱动最高支持的CUDA版本时,怎么办?
  • 答案 5:
    在这里插入图片描述
  • 问题6: 如何切换CUDA版本?
  • 回答6:
  • https://blog.csdn.net/JianJuly/article/details/102793103
  • 如果有安装多个cuda, 只需修改.bashrc文件中的版本号即可随意切换cuda版本。具体方法见安装cuda一节中的 5. 设置cuda环境变量。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/301085.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式系统架构设计之分布式消息队列基础知识

随着微服务、大数据和云计算的普及,分布式系统已经成为现代软件架构的核心。在分布式系统中,各个组件间的通信和数据交换尤其重要,而消息队列正是实现这一目标的关键技术之一。 在分布式架构设计过程中,架构师们需要对消息队列有…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于两阶段随机优化的电能量与深度调峰融合市场出清模型及定价方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主的专栏栏目《论文与完整程序》 这个标题涉及到一个电力市场的建模和定价方法,采用了两阶段随机优化的策略,目标是实现电能量与深度调峰的融合。下面是对标题中各个…

逆向一个Go程序

前奏 事先声明,自导自演,纯属为了演示基本的逆向思维 用Go写一段模拟登录的代码: package mainimport ("fmt" )func main() {pass : ""fmt.Print("input password:")fmt.Scan(&pass)if pass "hel…

DTD(文档类型定义)

一、简介 为什么使用DTD 通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。 通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。 而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。 您还可以使用 DTD 来验…

【架构专题】不会业务稳定性建设架构师直接开除!!!

为什么要做业务稳定性建设? 首先,什么是业务稳定性建设?顾名思义,就是保证系统的稳定运行,让用户不受任何影响地使用产品。对于一个企业来说,这非常重要,因为如果产品出现问题,那么…

Kafka(六)消费者

目录 Kafka消费者1 配置消费者bootstrap.serversgroup.idkey.deserializervalue.deserializergroup.instance.idfetch.min.bytes1fetch.max.wait.msfetch.max.bytes57671680 (55 mebibytes)max.poll.record500max.partition.fetch.bytessession.timeout.ms45000 (45 seconds)he…

C++实现单例模式

单例模式: 一种设计模式,它的目的是确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。它适用于需要全局唯一的对象或资源的情况。 23种设计模式种最简单最常见的一种(高频考点) 要求:通过一个…

Python打印Python环境、PyTorch和CUDA版本、GPU数量名称等信息

代码: import torch import platformgpu_num torch.cuda.device_count() torch_version torch.__version__ python_version platform.python_version()print("Python Version: Python %s" % python_version) print("PyTorch Version: %s" %…

代码随想录刷题第四十二天| 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

代码随想录刷题第四十二天 今天是0-1背包问题,掌握了套路就不难了~~~ 0-1背包问题理论基础(二维数组篇)卡码网第46题 题目思路: 代码实现: input_line input() # 读取一行输入 mn input_line.split() m, n int…

Oracle-expdp备份变慢问题分析

问题背景: 应用有一个每日跑批之前的备份作业,通过expdp备份应用的用户数据,数据量大概为600G左右,正常情况下可以在20分钟内跑完,但最近expdp备份完成时间却突然猛涨到要2小时32分才能备份完,导致后续的跑…

QT上位机开发(会员充值软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所有的控件当中,除了label、edit、radio、combobox和button之外,另外一个用的比较多的控件就是grid,也可称之为…

前台收款单选择的保险公司 提示 往来户不属于该财务组织

前台收款单选择的保险公司 提示 往来户不属于该财务组织 问题避免 新增保险公司的时候,找一个已经存在的保险公司,利用多页签复制的方式来新增 保险公司 不然不能够自动生成 财务客户

【无标题】- 自用代码 优化资源时常用的备份一个目录

右键&#xff0c;备份并删除 using System.IO; using UnityEditor; using UnityEngine; /// <summary> /// 删除字体&#xff0c;减少资源等优化功能&#xff0c;并且可以备份 /// </summary> public class BackUpYouhuaWindow : EditorWindow {[MenuItem("As…

linux 02 vmware的快照,文件管理

01.快照 使用快照&#xff1a; 同时的快照管理器&#xff1a; 如果想要返回快照&#xff0c;选择要选择的快照&#xff0c;跳转 02. 文件管理&#xff1a; cd 02.touch 2. mkdir 文件夹 mkdir -p 文件夹 &#xff08;创建之前没有的上级文件夹&#xff09;

SD-WAN:提升连锁零售企业异地组网稳定性

连锁零售企业往往拥有众多分布在不同地区的分支机构和零售店&#xff0c;为保证企业高效运转&#xff0c;各地区之间的网络连接必须稳定可靠。但基于各地网络基础设施的不同和网络延迟、带宽等限制&#xff0c;异地组网往往并不稳定。在这背景下&#xff0c;SD-WAN成为连锁零售…

CentOS:docker容器日志清理

1.先查看磁盘空间 df -h 2.找到容器的containerId-json.log文件,并清理 find /var/lib/docker/containers/ -name *-json.log |xargs du -sh 3、可以根据需求清理对应日志也可以清理数据大的日志 $ cat /dev/null > /var/lib/docker/containers/dbaee0746cc6adad3768b4ef…

[C#]使用sdcb.paddleocr部署v4版本ocr识别模型

【官方框架地址】 https://github.com/sdcb/PaddleSharp 【算法介绍】 PaddleOCR&#xff0c;全称为PaddlePaddle OCR&#xff0c;是PaddlePaddle深度学习平台下的一款强大的光学字符识别工具。它利用深度学习技术&#xff0c;实现了高精度的文字识别&#xff0c;可以帮助用户…

K8S--安装MySQL8(单机)

原文网址&#xff1a;K8S--安装MySQL8&#xff08;单机&#xff09;-CSDN博客 简介 本文介绍K8S部署MySQL8&#xff08;单机&#xff09;的方法。 本文的目标 1.通过PV和PVC&#xff08;hostPath方式&#xff09;存储MySQL的数据 2.通过Deployment、Service部署MySQL8&…

SpringBoot2基础

SpringBoot2 一、初始化项目 ①、创建project ②、构建maven项目 如果选项里没有8的&#xff0c;可以最顶上镜像换成阿里巴巴的&#xff1a;https://start.aliyun.com/ 直接在main函数运行就行 二、SpringBoot入门 1、复制工程 原则 保留工程基础结构抹掉原始工程痕迹 做个…

【MIdjourney】图像角度关键词

本篇仅是我个人在使用过程中的一些经验之谈&#xff0c;不代表一定是对的&#xff0c;如有任何问题欢迎在评论区指正&#xff0c;如有补充也欢迎在评论区留言。 1.侧面视角(from side) 侧面视角观察或拍摄的主体通常以其侧面的特征为主要焦点&#xff0c;以便更好地展示其轮廓…