赞
踩
先参考Ubuntu20.04下深度学习环境配置,配置apt-get换国内阿里源
参考Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单中的方法二,使用系统自带的 “软件和更新” 程序 - 附加驱动,选择带有recommend的驱动,进行安装
安装过程中可能会出现的问题
1.The distribution-provided pre-install script failed! Are you sure you want to continue? 选择continue installation 2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。 3.问题没记住,选项是:install without signing 4.问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。 5.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
如果出现安装驱动后黑屏,可能是图形管理器gdm3不兼容,可以安装lightdm,代码如下:
sudo apt-get install lightdm
//执行此语句,出现显卡信息则证明安装成功。
nvidia-smi
3. 安装Anaconda
参考Ubuntu20.04下深度学习环境配置,安装Anaconda
可能出现的问题:
1.“Do you accept the license terms” // 是否同意条款,如果拒绝则无法安装
输入“yes”
2.“Do you wish the installer to initialize Anaconda3 by running conda init?” // conda初始化操作,如果拒接可能会遇到接下来的问题
输入“yes”
在给新用户安装Anaconda后,①没有显示(base),②conda:未找到命令,可采用以下代码:
//先解决 2
sudo vim ~/.bashrc
//打开文件后,按i插入下一行,用户名更改为自己的用户名,之后按esc,输入:wq!,保存并关闭文件
export PATH="/home/用户名/anaconda3/bin:$PATH"
//更新source
source ~/.bashrc
//再解决 1,直接初始化conda
conda init
/home/xx
目录下创建.pip文件夹mkdir ~/.pip
pip.config
文件sudo vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
所以即使不在新建的conda虚拟环境中安装,如在base中安装CUDNN,其他的虚拟环境也能正常使用
cudnn9.0.0版本安装如下:
由于选择Ubuntu时无法验证是否安装成功,所以这里选择第一个Tarball,下载.tar.xz文件进行解压安装
如果上一步选择了Ubuntu,那么这里使用以下代码
wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
# 如果当前环境的cuda版本为11.x,那么用这行代码
sudo apt-get -y install cudnn-cuda-11
# 如果当前环境的cuda版本为12.x,那么用这行代码
sudo apt-get -y install cudnn-cuda-12
sudo cp cuda/include/cudnn* /usr/local/cuda-xxx/include
sudo cp cuda/lib/libcudnn* /usr/local/cuda-xxx/lib64
sudo chmod a+r /usr/local/cuda-xxx/include/cudnn*
sudo chmod a+r /usr/local/cuda-xxx/lib64/libcudnn*
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
# 进入pytorch环境
import torch
# 可以正确输出 cuda 版本号,说明 cuda 安装成功
print(torch.version.cuda)
# 可以正确输出 cuDNN 的 版本号,说明 cuDNN 安装成功
print(torch.backends.cudnn.version())
# 输出是 True,说明 CUDA 和 GPU 驱动的搭配是正确的
print(torch.cuda.is_available())
# 如果-ls输入错误成-l,那么重新输入-ls后会出现以下信息: (base) pp@slol:~$ screen -ls There are screens on: 1301732.pts-7.slol (2024年03月18日 21时37分41秒) (Detached) 27515.pp (2024年03月16日 21时07分52秒) (Detached) 26902.pts-0.slol (2024年03月16日 21时00分53秒) (Detached) 3 Sockets in /run/screen/S-pp. * 这可以使用screen -r命令重新连接到要关闭的会话,例如: # 第一个和第三个的名称要输全 screen -r 1301732.pts-7.slol screen -r 26902.pts-0.slol # 中间一个可以直接这样输入 screen -r pp # 连接到会话后,可以按下Ctrl + A + K键组合来杀死当前会话,以及杀死对话中的进程。 # 使用Ctrl + A + D键组合来暂时中断当前会话,不会杀死对话中的进程。
# 更改DNS服务器,查看DNS服务器设置 systemd-resolve --status # 1. 修改系统的永久DNS文件,命令如下 sudo vim /etc/systemd/resolved.conf # 2. 取消DNS行的注释,并更改如下: DNS=8.8.8.8 114.114.114.114 # 3. 保存并推出永久DNS文件 ESC + :wq! # 4. 清空本地DNS缓存 sudo systemd-resolve --flush-caches # 5. 重启systemd-resolved服务 sudo systemctl restart systemd-resolved # 6. 检查systemd-resolved服务状态 sudo systemctl status systemd-resolved # 7. 查看接口名称 nmcli con show # 8. 更改指定连接的DNS,将为IPv4设置Google的公共DNS服务器,并删除IPv6的DNS服务器 # 并告诉NetworkManager忽略由DHCP提供的DNS服务器 nmcli con mod "有线连接 1" ipv4.dns "8.8.8.8" nmcli con mod "有线连接 1" ipv4.ignore-auto-dns yes nmcli con mod "有线连接 1" ipv6.dns "" nmcli con mod "有线连接 1" ipv6.ignore-auto-dns yes # 9. 重启NetworkManager服务 sudo systemctl restart NetworkManager # 10. 检查是否修改完成 systemd-resolve --status # 禁用IPv6 # 1. 进入sysctl.conf文件 sudo vim /etc/sysctl.conf # 2. 添加以下行 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 # 3. 保存更改后,执行以下命令 sudo sysctl -p
# 1. 先lastb 查看登录失败的用户名、ip、时间等信息
sudo lastb
# 2. 若btmp文件过大,被系统的logrotate自动轮转,则旧文件会默认以 btmp.1 btmp.2 btmp.3的形式存储在 /var/log/目录下
# 再用以下命令查看某个btmp文件,如查看btmp.1
sudo lastb -f /var/log/btmp.1
# 3. 使用last命令查看已经登录过的用户名、ip、时间等信息
sudo last
# 4. 使用echo命令清空btmp文件或wtmp文件
sudo echo > /var/log/btmp
sudo echo > /var/log/wtmp
# 1. 先使用top命令查看当前占用cpu的进程号是什么
# 2. 使用nvidia-smi命令查看当前占用gpu的进程叫什么名字
# 3. 拿到进程号,比如3531之后,我们进入root用户
su root
# 4. 执行以下命令,即可查看该进程的目录列表
ll /proc/3531
# 5. 其中 cmd 是进程当前工作目录,exe 是进程的启动路径,cmdline 包含用于启动进程的完整命令行参数
sudo lastb |awk '{print $3}'|sort |uniq -c|awk '{if ($1 > 4) print $2}'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。