nvidia-smi
查看 GPU 数据
watch -d -n 1 nvidia-smi
实时监控 GPU 数据
➜ huangjian nvidia-smi
Thu Dec 6 11:41:49 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.46 Driver Version: 390.46 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... On | 00000000:00:09.0 Off | 0 |
| N/A 32C P0 32W / 250W | 6050MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 32592 C python 1067MiB |
| 0 32668 C /mnt/disk2/anaconda3/bin/python 4965MiB |
+-----------------------------------------------------------------------------+
上面的表格中:
第一栏的Fan:N/A是风扇转速,从0到100%之间变动。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是on的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
下面一张表示每个进程占用的显存使用率。
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://application_server_addr;
client_max_body_size 10240M;
}
请求 http://127.0.0.1/api/v1/xxx
application_server_addr 那里会收到 /api/v1/xxx
如果将
proxy_pass http://application_server_addr;
修改为
proxy_pass http://application_server_addr/;
的话(就是在末尾加个斜杠)。
那 application_server_addr 那里会收到 /v1/xxx 。
ps -ef | grep nginx
会看到 nginx 的 master 进程不见了,就只有 worker 进程了。
killall nginx
nginx -c /etc/nginx/nginx.conf
nginx -s reload
在 vim 中,如果不小心按到了 ctrl+s 之后,会卡死。需要用 ctrl+q 来恢复。
ctrl+s 和 ctrl+q 这个其实是 console 的快捷键。
当服务器不停的输出日志的时候,可以用 ctrl+s 来暂停输出,方便查看日志。
然后可以用 ctrl+q 来恢复输出。
删除用户
userdel huangjian
添加用户
useradd -r -m -s /bin/bash huangjian
设置用户密码
passwd huangjian
添加 root 权限
chmod +w /etc/sudoers
vim /etc/sudoers
root ALL=(ALL:ALL) ALL
huangjian ALL=(ALL:ALL) ALL
切换用户
su lyy
切换到 root
sudo su
adduser username
usermod -aG sudo username
#
# ~/.tmux.conf
#
# server | 服务器| 输入tmux命令时就开启了一个服务器
# session | 会话 | 一个服务器可以包含多个会话
# window | 窗口 | 一个会话可以包含多个窗口
# panel | 面板 | 一个窗口可以包含多个面板
#
# 使该文件 .tmux.conf 生效
# 在正常 console 下,执行 tmux source-file ~/.tmux.conf
#
# tmux kill-server 关闭 tmux
#
###### 会话
#
# tmux 进入tmux, 这个时候应该是创建了一个新的会话
# ctrl+b ctrl+z 挂起当前会话,可以使用 jobs 查看,fg 恢复该会话
# ctrl+b d 离开当前会话,进入 shell, 需要在 shell 中输入 tmux attach 才能重新进入
# tmux ls 查看所有会话
# tmux attach -t 0 ### attach 到一个会话,这里的 0 是会话的名字
# tmux new -s database 创建一个名字为 database 的会话
# tmux rename-session -t database data 把会话database重命名为data
#
###### 窗口
#
# ctrl+b c 创建一个新窗口
# ctrl+b & 关闭当前窗口
# ctrl+b 1/2/3/数字 切换窗口
# ctrl+b l 转到上一个使用的窗口。
# ctrl+b n 转到下一个 (n)ext 窗口。
# ctrl+b p 转到之前的 (p)revious 窗口。
# ctrl+b w 打开窗口列表,用方向键,hjkl切换窗口。
# ctrl+b , 重命名当前窗口。
# ctrl+b . 修改当前窗口的编号。
#
#
###### 面板
#
# ctrl+b " 水平分割面板
# ctrl+b % 竖直分割面板
# ctrl+b x 关闭当前面板
# ctrl+d 关闭面板
# 输入exit 关闭面板
# ctrl+b 方向键 选择面板
# ctrl+b ctrl+o 顺时针旋转面板,光标不动
# ctrl+b alt+o 逆时针旋转面板,光标不动
# ctrl+b o 光标顺时针移动到下一个面板
# ctrl+b t 显示当前时间
# ctrl+b ctrl+方向键 调整面板大小
# ctrl+b alt+方向键 调整面板大小
# ctrl+b space 在内置的几种面板之间切换
#
# ctrl+b z : make a pane go full screen. Hit again to shink it back to its
#
#
###### 查看历史消息
# ctrl+b 进入 copy mode
# PageUp 光标向上移动
# PageDown 光标向下移动
# 按 q 退出 copy mode
#
#
###### 复制模式
#
# ctrl+b [ 进入复制模式
# 用 vim 操作移动光标
# space 开始复制
# enter 复制完成
# ctrl+b ] 粘贴
#
#
###### 其他
#
# ctrl+b ? 查看所有快捷键
#
# modify leader
# unbind C-a
# set -g prefix C-b
# 使用 alt-left/right/up/down 来选择面板
# bind -n M-Left select-pane -L
# bind -n M-Right select-pane -R
# bind -n M-Up select-pane -U
# bind -n M-Down select-pane -D
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-k select-pane -U
bind -n M-j select-pane -D
set-option -g base-index 1
set-option -g display-time 5000
set-option -g repeat-time 1000
set-window-option -g mode-keys vi
set -g mouse on
set -s escape-time 0
# apt-get install xclip
# 先用 ctrl+b [ 进入复制模式复制
# 然后用 ctrl+b ctrl+c 把 tmux 缓冲区中的内容复制到系统剪切板
# 用 ctrl+b ctrl+v 把系统剪切板复制到 tmux
bind C-c run " tmux save-buffer - | xclip -i -sel clipboard > /dev/null"
bind C-v run " tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"