1. About
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
##### 一般"#"符号表示需要管理员权限运行,即加上"sudo"或者进入root ### 立即关机命令 sudo shutdown -h now ### 立即重启命令 sudo reboot 或者 sudo shutdown -r now ### 查看Linux系统的版本 sudo cat /proc/version ### 另一种方法是 uname -a ### 一种比较帅气的查看方法 uname -m && cat /etc/*release |
2. Central Processing Unit – CPU
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
### 查看cpu的物理个数 ### grep 'physical id' /proc/cpuinfo | sort -u | wc -l ### 查看cpu的核心数量 ### grep 'core id' /proc/cpuinfo | sort -u | wc -l ### 查看cpu最大线程数 ### grep 'processor' /proc/cpuinfo | sort -u | wc -l ##### 说明 ##### 如果上述指令在命令行窗口输入后,输出分别的意义是: 2 4 16 说明该机器总共 2 个CPU硬件 说明该机器总共 4 个CPU核心,即每个CPU硬件各含有 2 个CPU核心(2*2=4),(经常看CPU性能会说“这个CPU几核的啊?”说的就是这个) 说明该机器支持 16 个CPU线程,即每个CPU核心各支持 4 个CPU线程(4*4=16),(每个线程可以运行一个后台程序,理论上说这个CPU可以同一时间下并行16个后台程序) |
3. Graphics Processing Unit – GPU
现在市场上主流的 GPU 是 NVIDIA 和 AMD。AMD 擅长图像渲染,比较适合做动画的用户;NVIDIA 较平均,适合大多数用户使用。这里介绍 NVIDIA(单位服务器使用的运算型GPU)为例。
使用 GPU 计算深度学习可以大幅度加速 —— K80 : P100 : V100 ~ 44 : 18 : 7.4 (hours)
使用 CUDA 版本看下标描述中的架构
使用 CuDNN 版本看 CUDA 版本和 GPU类型对应的性能指标(Compute Capability)
NVIDIA Graphic Card
GPU类型版本越低性能越好: GP106(低) GP104(中) GP102(高) GP100(顶)架构性能(低→高): MaxWell → Kepler → Pascal → Volta
(麦克斯韦) (开普勒) (帕斯卡) (伏特)
支持的CUDA最低版本: ( ??? ) → ( All ) → ( 8.0↑ ) → ( 9.0↑ )
(架构) - 显卡代号 | 显存容量 | GPU核心 | 相关核心数量(SM/TensorCore/RTCore) | 温度与功耗 | 其他 | 官网原始数据 |
---|---|---|---|---|---|---|
(Kepler) - Tesla K80 | 2 * 12 = 24 GB | Kepler GK110 x 2 | (S)4992 | 375 W | ||
(Pascal) - Tesla P100 | 16 GB (HBM2) | Pascal GP100 | (S)3584 (D)1792 | 300 W | ||
(Volta) - Tesla V100 | 16 GB (HBM2) | Volta GV100 | (S)5120 (D)2560 (T)640 | 300 W | ||
(Turing) - GeForce RTX 2080Ti | 11 GB (GDDR6) | Turing TU102 | (S)4352 (T)576 (RT)72 | 250~260 W 8pin + 8pin | 12nm Real-Time Ray Tracing DLSS 2.0 | https://www.nvidia.cn/geforce/graphics-cards/rtx-2080-ti/ |
(Pascal) - GeForce TitanX | 12 GB (GDDR5 X) | Pascal GP102 | (S)3584 | 250 W | ||
(Pascal) - GeForce TitanXP | 12 GB (GDDR5 X) | Pascal GP102 | (S)3840 | 250 W | ||
(Pascal) - GeForce GTX 1080 Ti | 11 GB (GDDR5 X) | Pascal GP102 | (S)3584 | 250 W | ||
(Kepler) - Tesla K40 | 12 GB | Kepler GK110 | (S)2880 | 235 W | ||
(Kepler) - Tesla K20 | 5~6 GB | Kepler GK210 | (S)2496 ~ 2688 | 225 ~ 235 W |
1 2 3 4 5 6 7 8 9 10 |
### 查看 CUDA 版本 nvcc --version ### 查看 Cudnn 版本只能进入文件中寻找 libcudnn.so.x.x.x 查看 ls -la /usr/local/cuda/lib64 | grep libcudnn.so ### 查看显卡目前运行状态(已经装好CUDA才能查看) nvidia-smi ### 检测机器是否有 NVIDIA 显卡 sudo lspci | grep -i nvidia ### 查看显卡所有信息(-q表示用文本格式查看) nvidia-smi -i 0 -q -d ECC/... |
4. Disk & Memory – 硬盘 & 内存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
### 查看系统已经分配挂载的空间 df -h ### 具体查看文件夹占用情况 du -ah --max-depth=1 ### 查看系统硬盘情况 sudo fdisk -l ### 硬盘(重新)分区 - 对系统盘以外的另加硬盘进行分区并格式化,以 /dev/sdd 为例 ## 若硬盘为新盘或者要重新建盘,需要先格式化 # 进入 /dev/sdd 这个系统成功检测出的硬盘 sudo parted /dev/sdd # 对硬盘进行格式化,设置<strong>磁盘格式</strong>为gpt,Linux系统一般使用这个格式 (若已经完成可跳过) (parted) mktable gpt # 格式化完成后,对硬盘进行分区,该步骤可以将盘分成一块空间或者N块空间 (parted) mkpart 按照步骤分别输入 <strong>Start</strong>, <strong>End</strong>, ext4?, name, 和其他等 # 在 parted 状态中用 p 或者 print 查看该盘的分区情况,如 /dev/sdd1、/dev/sdd2 (parted) p # 分完区后使用 q 退出 parted 状态 (parted) q # 退出后还需要设置<strong>文件系统架构</strong>参数,sdd后面的数字代表第 N 块分区 sudo mkfs.ext4 /dev/sdd1 # 分完区后的硬盘空间需要挂载到Linux系统中,不然是不能对其进行读写的,使用 mount 指令进行挂载 sudo mount /dev/sdd1 /data/public # 将分区/dev/sdd1分配挂载到/data/public目录下(首先得先创建一个文件夹/data/public) # 上步的操作仅仅是临时挂载,若是要系统自动挂载需要在/etc/fstab文件中设置(小心,若是挂载不正规很容易在下次机器启动时候发生挂载错误) 1. 查看分区的UUID号,使用UUID号作为该分区的物理地址,若是使用代号/dev/sdd1来标定容易出现错误 sudo blkid 2. 修改挂载文件,并分别写入挂载配置 sudo vim /etc/fstab <UUID> <路径> <文件系统> <options> <dump> <pass> blkid找到 /data/public ext4 default 0 0 3. 检查配置是否准确,并挂载 sudo mount -a # 如果操作正确的话,使用 df -h 会看到分区情况 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Example: sudo fdisk -l // <strong>查看、检查识别硬盘状态/分布</strong> sudo parted /dev/sdc // <strong>进入操作识别代号 /dev/sdc 硬盘</strong> (parted) mktabel gpt // <strong>设置硬盘的硬盘格式为 gpt</strong> (parted) mkpart // <strong>格式化 + 分区</strong> Partition name? []? // <strong>分区别名</strong> File System type? [ext2]? // <strong>文件系统架构</strong> Start? // <strong>卷开始 gpt 从 2048 开始</strong> End? // <strong>卷结束</strong> (parted) p / print // <strong>输出硬盘状态</strong> (parted) q // <strong>退出</strong> sudo mkfs.ext4 /dev/sdc1 // <strong>设定文件系统架构 上述步骤中可能设置不成功</strong> sudo umount /dev/sdc1 sudo mount -t ext4 /dev/sdc1 /home/user2 sudo vim /etc/fstab /dev/sdc1 /home/user2 ext4 default 0 0 sudo mount -a df -h |
5. Networking – 网络
1 2 3 4 5 6 7 8 9 10 11 12 |
$ ifconfig // 若查看网口 可在指令后加上网口名如: "eth0" / "eno1" 之类 Link encap: Ethernet HWabbr: <strong>Mac地址 </strong>inet addr: <strong>IPV4地址 </strong>Bcast: <strong>广播地址 </strong>Mask: <strong>子网掩码</strong> inet6 addr: <strong>IPV6地址</strong> ... RX packets: 5652 error: 0 bytes: 7303897 (6.9 MiB) <strong>接收包总数 错误数 接收的字节数</strong> TX packets: 3908 error: 0 bytes: 214146 (209.1 KiB) <strong>发送包总数 错误数 发送的字节数 </strong> $ ethtool etho // 查看网口的详细信息,如该网口是否处于正常连接状态 |
1 2 3 4 5 6 7 8 9 10 11 |
### 配置文件地址 (RedHat Like) /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-* (Ubuntu) /etc/network/interfaces |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
### (终端下)设置静态IP - 非自动分配,插入网线,该网口就是静态IP地址 ## CentOS ## $ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 # device name HWADDR=00:0c:29:d3:bb:e5 # mac address TYPE=Ethernet # network type UUID= # (allow select) ONBOOT=yes # boot auto set or not NM_CONTROLLED=yes BOOTPROTO=static # static ip IPV6INIT=no # ipv6 IPADDR=172.31.238.209 # ipv4 address NETMASK=255.255.255.0 # netmask GATEWAY=172.31.238.33 # gateway DNS1= # DNS address, static need set ... $ sudo service network restart or $ sudo systemctl restart network $ ping xxx or $ ifconfig ## Ubuntu ## $ sudo vim /etc/network/interfaces manual: auto eth0 iface eth0 inet static address 172.31.238.209 netmask 255.255.255.0 gateway 172.31.238.33 ... $ sudo vim /etc/resolv.conf nameserver 202.96.128.86 $ sudo /etc/init.d/network restart or $ sudo /etc/init.d/networking restart |
6. Top Monitor – Top监控
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
##### top monitor ##### top -q : 退出 -u : 指定用户相关进程 -p : 指定PID进程 也可以 -p 12265 -p 8340 格式多显示 最多20个 也可以 -p 1265,8340,... 格式多现实 最多20个 恢复总界面"="即可 进入top界面后 i : 可只显示占用 CPU 的进程 b : 可显示状态为 (S) or (R) 的进程 1 : 可显示所有cpu 监控各cpu的占用度 2 : 可显示 %Node* 各cpu的情况 |
7. User Manager – 用户管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
##### User ##### ## 普通用户缺省默认UID从500开始向后顺序增加 ## 编号500以下的UID作为系统保留的账号如root # 创建用户 # useradd会顺便创建各种信息 adduser 就不会这么麻烦比较安全 1. useradd / adduser example: sudo useradd -e 12/30/2009 user2 sudo adduser user1 # 设置密码 2. passwd example: sudo passwd user1 # 删除用户 3. userdel example: sudo userdel user2 # 若同时删除对应home目录下的工作目录 sudo userdel -r user2 # 查看用户 4. id user sudo id user4 ##### Group ##### # 创建组 1. groupadd example: sudo groupadd iedepart # 将已有用户加入已有用户组 2. usermod example: sudo usermod -a -G user2 iedepart ##### authority ##### drwxr-x--- 4 user1 iedepart 75 Sep 19 10:46 public-source -rw-r--r-- 1 amax amax 8980 11月 28 12:46 examples.desktop ## drwxr-xr-x # d | rwx | r-x | --- # d | user|group|other user d - document r - read - 4 w - write - 2 x - run - 1 ## user1 iedepart # user1 | idepart # 所有者 | 所有组 user1 - user idepart - group # 修改drwxr-xr-x部分读写权限 1. chmod example: sudo chmod -750 /data/public-source 7表示rwx - 4+2+1 5表示r-x - 4+0+1 0表示--- - 0+0+0 # 修改user1 iedepart部分所有者权限 2. chown example: sudo chown -R /data/public-source or sudo chown examples.desktop ##### link ##### # 创建 软链接/文件/目录 1. ln / vim / mkdir * ln -s [source] [target] example: sudo ln -s /data/public-source /home/user1/data sudo vim /path/fileName sudo mkdir /path/directoryName # 删除 软链接/文件/目录 2. rm example: 仅删除链接 sudo rm -rf /data 同时删除链接和链接内的所有文件 sudo rm -rf /data/ 删除文件 sudo rm /path/file 删除目录 sudo rm -rf /path/directory |
8. Log System – 日志系统
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
##### Ubuntu & CentOS ##### # 存储所有全局系统活动数据 # 包括开机信息 (Debian) /var/log/syslog (RedHat) /var/log/messages # 存储来自可插拔认证模块(PAM)的日志 # 包括成功的登录 # 包括失败的登录尝试和认证方式 (Debian) /var/log/auth.log (RedHat) /var/log/secure # 存储内核的错误和警告数据 # 对于排除与定制内核相关故障尤为实用 # cron存储相关cron作业的信息 (Debian) /var/log/kern.log (RedHat) /var/log/cron |