服务器向来是企业最重要的应用之一,是企业信息储存的关键,关系到企业是否能正常展开业务运作。但是在服务器的日常运行之中,由于服务器本身24小时不间断运作,再加上复杂的硬件结构和运行原理,导致服务器常常会遇到各种问题,可能一些小问题也会使管理人员没有而引发更大的问题。因此,管理人员需要对常见故障有一定的了解,并知道如何解决。
下面数据湾精心整理了一些服务器的常见问题汇总,帮助各位排忧解难。
由于服务器默认为允许连接数为2个,如果登陆后忘记注销,而是直接关闭远程桌面的话,服务器识别此次登陆还是留在服务器端的。
出现这种情况,最常见的就是重启服务器,但是,如果是高峰期,重启服务器带来的损失是显而易见的。那么此时,就可以利用mstsc/console指令进行强行登陆了。
打开“运行”框,键入“mstscv:xxx.xxx.xxx.xxx(服务器IP)/console”,即可强行登陆到远程桌面了。
遇到这种情况,可能是该文件还在运行中,可以重启删之,或者运行CMD,输入arrtib-a-s-h-r想要删除的文件夹名,最后输入del想要删除的文件夹名即可删除,运行该命令后无法恢复,请慎用。
服务器负载(load/loadaverage)是根据进程队列的长度来显示的。
当服务器出现负载高的现象时(建议以15分钟平均值为参考),可能是由于CPU资源不足,I/O读写瓶颈,内存资源不足等原因造成,也可能是由于CPU正在进行密集型计算。
建议使用vmstat-x,iostat,top命令判断负载过高的原因,然后找到具体占用大量资源的进程进行优化处理。
可以通过free,top(执行后可通过shitf+m对内存排序),vmstat,procinfo命令,也可以通过/proc/meminfo文件查看。
可以使用top-pPID,pmap-xPID,psaux|grepPID命令,也可以通过/proc/$process_id(进程的PID)/status文件查看,例如/proc/7159/status文件。
请开发者首先确认服务器A和B是属于同一个应用,不同应用无法交叉登录。
如果有异常,重启服务器。
可以使用netstat-tunlp,netstat-antup,lsof-i:PORT命令查看。
可以使用psauxww|grepPID,ps-ef,lsof-pPID,top-pPID命令查看。
可以使用kill-9PID(进程号),killall程序名(比如killallcron)来杀死进程。
如果要杀死的是僵尸进程,则需要杀掉进程的父进程才有效果,命令为:kill-9ppid(ppid为父进程ID号,可以通过ps-oppidPID查找,例如ps-oppid32535)。
可以使用top命令查看僵尸进程(zombie)的总数,使用ps-ef|grepdefunct|grep-vgrep查找具体僵尸进程的信息。
同一应用下的不同机器,可以通过如下命令实现文件传输:
scp-Pport(使用36000端口)/home/user/localfilename(本地文件路径)user(使用appid)@serverip:/home/user/removefilename(目标文件路径)
rsync-e'ssh-pport(使用36000端口)-q'/home/user/localfilename(本地文件路径)user(使用appid)@serverip:/home/user/removefilename(目标文件路径)。
服务器端口的启动监听,需要从操作系统本身以及应用程序查看。
linux操作系统1024以下的端口只能由root用户启动,即需要先运行sudosu–获取root权限后再启用服务端口。
应用程序问题,建议通过应用程序启动日志来排查失败原因,例如端口冲突(腾讯服务器系统使用端口不能占用,比如36000),配置问题等。
命令名称说明
可以显示系统负载,进程,cpu,内存,分页等信息,常用shift+m和shift+p来按memory和cpu使用对进程进行排序。
例如,vmstat310,每隔3秒输出结果,执行10次。
例如iostat-dxmt10,每10秒以MB的格式输出IO的详细信息。
例如:df-m,以MB为单位展现磁盘使用状况。
例如:
lsof-i:36000,显示使用36000端口的进程
lsof-uroot,显示以root运行的程序
lsof-cphp-fpm,显示php-fpm进程打开的文件
lsofphp.ini,显示打开php.ini的进程。
常用命令参数组合为,ps-ef,psaux,推荐使用ps-A-o来自定义输出字段。
例如:
ps-A-opid,stat,uname,%cpu,%mem,rss,args,lstart,etime|sort-k6,6-rn,按所列字段输出并以第六个字段进行排序
ps-A-ocomm|sort-k1|uniq-c|sort-k1-rn|head,列出运行实例最多的进程。
其他常用的命令和文件,free-m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。
排查步骤如下:
可以运行命令crontab-e添加如下测试条目*/1****/bin/date>>/tmp/crontest2>&1&,然后观察/tmp/crontest文件。
如果有问题,建议使用psaux|grepcron查找cron的pid,kill-9PID结束cron进程,然后通过/etc/init.d/cronstart重新启动cron。
Linux内核启动顺序为:
/sbin/init进程启动,
然后依次执行init初始脚本,
运行级别脚本/etc/rc.d/rc*.d,*号值等于运行模式,可以在/etc/inittab中查看,
最后是/etc/rc.d/rc.local。
如果需要配置开机任务,可以在/etc/rc.d/rc*.d中的S**rclocal文件配置,也可以在/etc/rc.d/rc.local中配置。
硬盘只读的常见原因如下:
可以通过df-m命令查看磁盘使用情况,然后删除多余的文件释放磁盘空间;
可以通过df-i命令查看,确认相关的进程;
系统级别的日志文件存放路径为/var/log。
常用的系统日志为/var/log/messages。
可以首先通过df命令查看磁盘分区使用情况,比如df-m;
然后:
通过du命令查看具体文件夹的大小,比如du-sh./*,du-h--max-depth=1|head-10;
使用ls命令列出文件以及大小,比如ls-lSh;
另外,也可以通过find命令直接查看特定目录下的文件大小,比如find/-typef-size+10M-execls-lrt{}\;
可以通过下列命令查看系统版本:
uname-a,cat/proc/version,cat/etc/issue
20.如何重启服务器?
方式1:在服务器上以root运行shutdown-rnow命令进行重启。
方式2:如果方式1不生效,可以尝试在服务器上以root运行reboot命令进行重启。
服务器本身没有对显示语言有限制,如果是终端软件的影响中文的显示
可以尝试调整选项-会话选项-外观(secureCRT设置,其他版本软件请查找相关设置);
如果是纯Linuxshell出现乱码,请使用export命令查看用户环境变量,查看LANG,LC_CTYPE等环境变量设置。
可以通过如下设置,使SecureCRT连接CVM时,不断开连接:
打开secureCRT选项(Options),选择会话选项(SessionOpetions),点击终端(Terminal),在右侧反空闲(Anti-idle)的框中勾选发送协议NO-OP(SendprotocolNO-OP),时间设置为每120秒(every120seconds)。
现象:
登录linux服务器,执行rm命令删除文件,用df命令查看硬盘空间,发现删除文件后,可用的硬盘空间没有增加。
原因:
通过rm命令删除文件的时候,如果正好有其它进程在访问该文件,通过df命令查看,删除的文件占用的空间是没有立即释放的。
解决方法:
使用root权限执行lsof|grepdeleted,查看正在使用被删除文件的进程的PID,通过命令kill-9PID杀掉对应的进程即可。
各位看官怎么看呢?
想了解更多有关服务器的知识和内容请关注我吧或者点击下方的了解更多进入小湾的主页!