栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

服务器常用问题及解决方法(一)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务器常用问题及解决方法(一)

服务器常用命令操作
  • 问题记录
    • 释放显存或端口
    • pycharm带指令运行,替代.sh指令运行
    • pycharm相对路径出错
    • Linux服务器创建新用户
    • 灰屏处理
      • 针对初始用户
      • 针对使用过程中出现灰屏
        • 情况一
        • 情况二
      • 软连接
    • Linux 服务器之间文件传输
        • 参考博客或文章

问题记录

本博客为我使用服务器所遇到的常见问题汇总

释放显存或端口
  1. 通过nvidia-msi查看服务器显存情况。
  2. 最常见情况是存在未停止进程,确认该进程未使用后,可利用kill -9 PID 命令直接释放。
  3. 复杂情况为,通过nvidia-msi未发现进程占用,或通过第二步后仍未释放显存,这时需要使用命令fuser -v /dev/nvidia*查看僵尸进程
  4. 查看进程的指令还有 ps -ef
  5. 再利用kill -9 PID PID PID,可批量杀死僵尸进程,完成显存释放。
  6. 使用python -m torch.distributed.launch进行多GPU训练时,出现端口占用RuntimeError: Address already in use报错也属于上述情况,可使用上述方法解决。
  7. 批量清理显卡中残留进程:
    sudo fuser -v /dev/nvidia* |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
    清理指定GPU显卡中残留进程,如GPU 2:
    sudo fuser -v /dev/nvidia2 |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
pycharm带指令运行,替代.sh指令运行

有些开源程序常使用类似sh train.sh在shell下完成程序运行,这样虽然方便简洁,但是不利于修改代码后debug出现的问题,因此需要借助pycharm等编辑器。
操作如图所示,将torch分布式命令作为script路径配置,其他参数统一到参数配置下

pycharm相对路径出错

遇到相对路径出错的情况,请注意检查Debug Configuration配置下的工作目录(Working Directory)是否正确
另外在Settings-Project-Project Structure下将文件目录加入到Sources下,也可在主界面下选中右键Mark Directory as Sources完成同样操作

Linux服务器创建新用户

Linux服务器上创建账户用到useradd命名,一般常用以下命令:

$sudo useradd -m -s /bin/bash userName // 在/home目录下新建userName目录
$sudo passwd userName    //设置密码

会提示

Enter new UNIX password:
 
Retype new UNIX password:
 
passwd:password updated successfully

然后用新建的用户名和密码先登录服务器,不会出现界面,退出之后用管理员账号登录。

下面三个命令一般用不到,意思是在新建中不需要这三个命令,直接到配置桌面会话文件这一步。

$userdel -r userName    //删除用户
$useradd userName    //创建用户
$useradd -d /home/homeDir userName    //增加home目录

因为登录自己新建的用户之后不会出现桌面,而是灰色的画面,需要配置桌面会话文件,需要先sudo su进入root,进入新建用户的路径下,比如/home/XXX。

$echo xfce4-session>.xsession
$cat .xsession

创建成功之后会出现以下文件和一行命令xfce4-session

完成上述步骤后配置VNCSERVER,配置和重启都需要带端口号

灰屏处理 针对初始用户

创建初始用户时,可能登录vnc灰屏(不提示错误),这时一般是xsartup未配置桌面导致
修改xstartup文件

将x-window-manager &注释掉
增加mate-session &

针对使用过程中出现灰屏 情况一

使用vncserver -kill :1(共用服务器务必带端口号)命令重启VNCviewer后由bashrc中anaconda未注释造成的灰屏情况只需要注释修改bashrc相应部分执行重启步骤即可

情况二

VNC错误描述
vnc viewer开启后弹窗提示

Could not connect to session bus:
Failed to connect to socket /tmp/dbus-XXXXXXXXXX:
Connection refused

关闭弹窗后又提示

Could not acquire name on session bus

问题分析
一般情况下为错误使用vncserver -kill命令造成了~文件夹下的配置文件损坏.
修复方法
因为无法登陆图形界面, 所以在ssh下修复, 具体方法如下:

登陆ssh, 关闭自己开启的vncserver进程

备份~文件夹下重要的隐藏文件, 如.bashrc文件

cp ~/.bashrc ~/bashrc.bak

删除~文件夹下所有隐藏文件

rm -rf ~/.*

输入exit登出账户, 再重新登陆ssh

重置~文件夹下的默认配置文件

cp -r /etc/skel/. /home/usrname

输入exit登出账户, 再重新登陆ssh

如果出现端口被占用无法kill端口

  1. 可能其他子账户错误登录端口,导致复用,使用其他账户退出,再kill后重启vnc即可。
  2. 未出现其他端口占用,可能是端口锁定导致,删除/tmp/路径下和/tmp/.X11-unix/路径下的对应端口。
  3. 使用命令ps aux | grep XXX 命令寻找Xvnc4 相关的进程kill后重启端口vnc即可。
软连接

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,

具体用法是:ln -s 源文件 目标位置

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

  -f : 链结时先将与 dist 同档名的档案删除
  -d : 允许系统管理者硬链结自己的目录
  -i : 在删除与 dist 同档名的档案时先进行询问
  -n : 在进行软连结时,将 dist 视为一般的档案
  -s : 进行软链结(symbolic link)
  -v : 在连结之前显示其档名
  -b : 将在链结时会被覆写或删除的档案进行备份
  -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
  -V METHOD : 指定备份的方式

如果要删除软连接,直接删除刚刚新建的目标文件就好了。
或者使用删除软连接指令:sudo unlink 目标位置 或 rm 目标位置

Linux 服务器之间文件传输

linux的scp命令:
  scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器.

有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

1、将本机文件复制到远程服务器上

命令:

scp file_path_1 root@192.168.1.1:file_path_2

例子:

 scp /home/administrator/news.txt root@192.168.1.1:/etc/squid

说明:

file_path_1:本地文件的绝对路径

root:表示通过root用户登录到远程服务器(也可以是目标服务器的其他用户)

192.168.1.1:目标服务器的ip地址

file_path_2:要存储在目标服务器的地址(目录)

步骤:

首先会提示输入yes or no 建立ssh链接

按照提示输入登录用户的密码

然后会显示百分比开始复制文件、实际时间和传送速度等信息

2、将远程服务器上的文件复制到本地

命令:

scp root@192.168.1.1:file_path_1 file_path_2

例子:

scp remote@www.abc.com:/usr/local/sin.sh /home/administrato

说明:

root:表示通过root用户登录到远程服务器(也可以是远程服务器的其他用户)

192.168.1.1:是服务器的ip,当然也可以是网址。

file_path_1:表示的是欲复制到本机的位于远程服务器上的文件

file_path_2:表示的是将远程文件复制到本地的绝对路径

注意两点:

1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

附加:

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

1.命令格式:

 scp [参数] [原路径] [目标路径]

2.命令功能:

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

3.命令参数:

  -1  强制scp命令使用协议ssh1  

  -2  强制scp命令使用协议ssh2  

  -4  强制scp命令只使用IPv4寻址  

  -6  强制scp命令只使用IPv6寻址  

  -B  使用批处理模式(传输过程中不询问传输口令或短语)  

  -C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  

  -p 保留原文件的修改时间,访问时间和访问权限。  

  -q  不显示传输进度条。  

  -r  递归复制整个目录。  注:当复制目录的时候用这个

  -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   

  -c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   

  -F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  

  -i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    

  -l limit  限定用户所能使用的带宽,以Kbit/s为单位。     

  -o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   

  -P port  注意是大写的P, port是指定数据传输用到的端口号   

  -S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

4.使用实例:

scp命令的实际应用概述:

从本地服务器复制到远程服务器:

(1) 复制文件:

命令格式:

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

或者

scp local_file remote_ip:remote_folder

或者

scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

(2) 复制目录:

命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要输入用户密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

从远程服务器复制到本地服务器:

从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

实例1:从远处复制文件到本地目录

命令:

scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

参考博客或文章

https://blog.csdn.net/weixin_37182342/article/details/80298464
https://www.cnblogs.com/qxym2016/p/8542186.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号