服务器管理指南¶
服务器日常状态检查¶
检查项目¶
GPU¶
# 1.显存使用(Memory-Usage)多而GPU使用率(Volatile)低证明有问题
nvidia-smi
# 2.如果执行nvidia-smi指令发现不是Persistence-M模式,需用此指令开启
nvidia-smi -pm 1
# 3.同1,部分机器无此命令
gpustat -p
CPU¶
# CPU信息在/proc/cpuinfo中
# 查看CPU物理核心数
cat /proc/cpuinfo | grep "cpu cores" | uniq
# 查看单核逻辑核数,CPU_KERNEL_NUMBER = CPU物理核心数 * 单核逻辑核数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
# 查看CPU逻辑核心数,若逻辑核数 > CPU_KERNEL_NUMBER,则为开启超线程
cat /proc/cpuinfo | grep "processor" | wc -l
空间检查¶
用户进程检查¶
整体情况¶
top
确保load_average < 1.5 * CPU_KERNEL_NUMBER, 0 stopped, 0 zombie。使用 m 来查看内存和swap使用情况,swap超过80%时有宕机危险,此时可以使用 M 来排序查找内存使用大的程序,c 查看其具体命令。若长时间运转,管理员需联系程序使用者暂停程序。
非正常状态进程¶
查找¶
# sTop状态的进程
ps -e -o stat,user,pid,cmd | grep ^T
# Zombie状态的进程
ps -e -o stat,user,pid,cmd | grep ^Z
清除¶
下面操作务必慎重
# 清除sTop状态的进程
ps -e -o stat,user,pid,cmd | grep ^T | awk '{print $3}' | xargs -i kill -9 {}
# 清除Zombie状态的进程
ps -e -o stat,user,pid,cmd | grep ^Z | awk '{print $3}' | xargs -i kill -9 {}
端口占用检查¶
# 查看开启的端口
firewall-cmd --list-ports
# 查看端口占用
sudo netstat -ntlp
# 通过pid查看占用端口进程的具体信息
ps -aux | grep pid
安装与更新¶
Python 更新指南¶
将编译好的python版本放在home目录下,之后将软链接链接过去即可
建议保存当前最新版本前两个版本的python,同时使用当前最新版本的前一个版本的python作为默认版本
sudo ln -snf /home/python.xx/bin/python.xx /usr/bin/python.xx
Tensorflow 更新指南¶
TBA
Mxnet 更新指南¶
TBA
Pytorch 更新指南¶
TBA
用户与权限¶
Linux¶
下述所有 XXX 代指 username
添加普通用户¶
# 添加用户
sudo useradd -m -s /bin/bash XXX
# 修改密码
sudo passwd XXX
添加管理员用户¶
修改 /etc/sudoers 文件
sudo vim /etc/sudoers
添加一行
XXX ALL=(ALL) ALL
之后 wq! 确认
以加组形式添加管理员账户¶
如果 /etc/sudoers 中有如下语句,则可以通过加组的方式添加管理员账户
%wheel ALL=(ALL) ALL
使用如下命令:
usermod -a -G wheel xxx
通过SSH进行访问控制¶
添加或删除用户
sudo vim /etc/ssh/sshd_config
在
AllowUsers XXX1 XXX2 XXX3
进行增删操作
执行下列操作使修改生效
sudo systemctl reload sshd.service
内核切换¶
首先查看可用内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
切换内核
grub2-set-default x
x 为用awk查看得到的内核编号