Linux命令集锦备忘(Ubuntu16.04+CUDA9+pytorch0.4.1+GTX1660TI)
命令备忘
CUDA常用
- cat /usr/local/cuda/version.txt #查看cuda版本
- cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 #查看cuDNN
- nvcc -V #配置好环境后查看cuda信息命令
- CUDA多版本共存,可更改~/.bashrc下环境变量,以CUDA9.0为例:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda9.0/
lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者建立软连接:
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
-
CUDA sample 测试
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery -
CUDA安装详细参考此两篇博文,亲测好评
http://www.twistedwg.com/2018/06/15/cuda9_cudnn7.html
https://zhuanlan.zhihu.com/p/58114055
GPU及CPU命令
GPU命令
-
卸载Nvidia驱动:
./NVIDIA-Linux-x86_64-xxx.xx.run --uninstall
sudo apt-get remove --purge nvidia-* -
nvidia-smi -l xxx 监测GPU情况xxx秒后更新
CPU命令
- cat/proc/cpuinfo #查看CPU硬件信息
- lscpu #查看cpu详细信息
pytorch测试命令
- import torch #调包
- print(torch._version_) #查看pytorch版本
- torch.cuda.get_device_name(0) #查看pytorch对应GPU信息
- torch.backends.cudnn.version() #查看pytorch调用cudnn信息
- torch.version.cuda #查看pytorch调用cuda信息
conda虚拟环境相关命令
例:创建虚拟环境名称为myenv,python版本为3.6
- conda create --name myenv python=3.6 #建立myenv虚拟环境
- source activate myenv 激活myenv虚拟环境
- source deactivate myenv 关闭myenv虚拟环境
- conda env list 或 conda info -e 查看当前存在哪些虚拟环境
- conda update conda 检查更新当前conda
- conda update --all 更新本地已安装的包
- conda install -n myenv [package] 安装package到myenv中
- conda remove -n myenv --all 删除myenv虚拟环境
- conda remove --name myenv package_name 删除环境中的某个包
磁盘检查命令
- df -h #检查磁盘使用情况
- du -sh /* --exclude proc #查看目录磁盘使用情况
- du -hs /home/* #查看home下文件夹磁盘使用情况
用户管理命令
例:新建一个用户名为lxy 属于lxygroup组
- cd /home
useradd -d /home/lxy lxy #建lxy用户
passwd lxy #设置lxy用户密码 - groupadd lxygroup #创建一个新的工作组lxy
- usermod -G root lxy #将用户lxy添加到root组中
- groupdel lxygroup #删除用户组grouplxy
- userdel lxy #删除用户lxy
- groupmod –n lxygroup grouplxy #修改组名为grouplxy
- gpasswd –a lxy root #把 lxy加入root组
- gpasswd –d lxy root #吧lxy退出root组
- cat /etc/passwd #查看所有用户列表
- w或who#查看当前登录的用户
- id或whoami查看当前用户
- 为lxy用户添加管理员权限,命令参考如下:
ls -al /etc/sudoers
chmod 700 /etc/sudoers
vim /etc/sudoers
在#User privilege specification下添加一行:lxy ALL=(ALL) ALL
权限管理命令
一些设定:
4 可读,
2 可写,
1 可执行
0 无权限
参数:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
-
chmod [who] [+ | - | =] [mode] 文件名 #更改权限
例:sudo chmod 777 filename -
chown [选项] 用户或组 文件 #更改文件所属权限
例:chown -R username:user_group folder
今日采坑
环境背景:CUDA9.0+Pytorch0.4.1+GTX1660TI
问题经过:pytorch突然奔溃,产生运行时错误,提示device出错,具体如图
排查经过:重新安装CUDA9.0与pytorch0.4.1后依然有错误,于是开始排查CUDA9.0,在编译CUDA9.0的samples后,CUDA运行出错,继续排查发现CUDA9.0的GPU device没上来。
解决方案:卸载CUDA9.0后重装CUDA9.2,重装pytorch后,问题解决。
问题跟进:重启后发现pytorch又一次崩溃,这一次可以排除cuda9.2与pytorch0.4.1的安装问题,继续排查后,发现GPU没上来,nvidia-smi显示GPU off,如图
经查询,运行以下命令,即CUDA的sample,致使GPU on
cd /usr/local/cuda/sample/1_Utilities/deviceQuery
./deviceQuery
可以看出GPU变成了on