百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

linux服务器常用操作和命令(基础岗必看)

liebian365 2024-10-17 14:05 19 浏览 0 评论

目录

  • 1. 什么是linux服务器load average?
  • 2. 如何查看linux服务器负载
  • 3. 服务器负载高怎么办?
  • 4. 如何查看服务器内存使用率?
  • 5. 如何查看单个进程占用的内存大小?
  • 6. 无法从linux服务器A登录到服务器B怎么办?
  • 7. 如何查看正在使用的服务和端口?
  • 8. 如何查看服务器进程信息?
  • 9. 如何杀死进程?
  • 10. 如何查找僵尸进程?
  • 11. 如何在内网服务器间传输数据?
  • 12. 为什么启动不了服务器端口?
  • 13. 常用的linux服务器性能查看命令有哪些?
  • 14. Cron不生效怎么办?
  • 15. 如何设置opensuse服务器开机任务?
  • 16. 为什么服务器硬盘只读?
  • 17. 如何查看linux系统日志?
  • 18. 如何查找文件系统大文件?
  • 19. 如何查看服务器操作系统版本?
  • 20. 如何重启服务器?
  • 21. 为什么linux终端显示中文会出现乱码?
  • 22. 如何设置通过SecureCRT连接CVM服务器的超时时间?
  • 24. 如何获得CVM的root权限?
  • 25. 为什么删除linux服务器上的文件,硬盘空间不释放?
  • 文末附Linux服务器开发进阶学习资料


    1. 什么是linux服务器load average?

    Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多。


    2. 如何查看linux服务器负载

    可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看。


    3. 服务器负载高怎么办?

    服务器负载(load/load average)是根据进程队列的长度来显示的。当服务器出现负载高的现象时(建议以15分钟平均值为参考),可能是由于CPU资源不足,I/O读写瓶颈,内存资源不足等原因造成,也可能是由于CPU正在进行密集型计算。建议使用vmstat -x,iostat,top命令判断负载过高的原因,然后找到具体占用大量资源的进程进行优化处理。


    4. 如何查看服务器内存使用率?

    可以通过free,top(执行后可通过shitf+m对内存排序),vmstat,procinfo命令,也可以通过/proc/meminfo文件查看。


    5. 如何查看单个进程占用的内存大小?

    可以使用top -p PID,pmap -x PID,ps aux|grep PID命令,也可以通过/proc/$process_id(进程的PID)/status文件查看,例如/proc/7159/status文件。


    6. 无法从linux服务器A登录到服务器B怎么办?

    请开发者首先确认服务器A和B是属于同一个应用,不同应用无法交叉登录。

    1. 当服务器A无法登录服务器B时,可以使用ping IP和telnet IP 36000命令确认服务器B是否死机,ssh服务是否正常。如果有异常,登录open.qq.com管理中心重启服务器(详细操作说明见:CVM_V2申请和管理#3.2 服务器重启)。

    2. 如果可以通过客户端直接访问服务器B,但是不能从服务器A登录服务器B,请通过企业QQ联系运维支持协助定位。


    7. 如何查看正在使用的服务和端口?

    可以使用netstat -tunlp,netstat -antup,lsof -i:PORT命令查看。


    8. 如何查看服务器进程信息?

    可以使用ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID命令查看。


    9. 如何杀死进程?

    可以使用kill -9 PID(进程号),killall 程序名(比如killall cron)来杀死进程。如果要杀死的是僵尸进程,则需要杀掉进程的父进程才有效果,命令为: kill -9 ppid(ppid为父进程ID号,可以通过ps -o ppid PID查找,例如ps -o ppid 32535)。


    10. 如何查找僵尸进程?

    可以使用top命令查看僵尸进程(zombie)的总数,使用ps -ef | grep defunct | grep -v grep查找具体僵尸进程的信息。


    11. 如何在内网服务器间传输数据?

    同一应用下的不同机器,可以通过如下命令实现文件传输:

    scp -P port(使用36000端口) /home/user/localfilename(本地文件路径) user(使用appid)@serverip:/home/user/removefilename(目标文件路径)

    rsync -e 'ssh -p port(使用36000端口) -q' /home/user/localfilename (本地文件路径) user(使用appid)@serverip:/home/user/removefilename(目标文件路径)


    12. 为什么启动不了服务器端口?

    服务器端口的启动监听,需要从操作系统本身以及应用程序查看。linux操作系统1024以下的端口只能由root用户启动,即需要先运行sudo su –获取root权限后再启用服务端口。应用程序问题,建议通过应用程序启动日志来排查失败原因,例如端口冲突(腾讯服务器系统使用端口不能占用,比如36000),配置问题等。


    13. 常用的linux服务器性能查看命令有哪些?


    其他常用的命令和文件,free -m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。


    14. Cron不生效怎么办?

    排查步骤如下:

    1. 确认crontab是否正常运行。可以运行命令crontab -e添加如下测试条目*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &,然后观察/tmp/crontest文件。 如果有问题,建议使用ps aux|grep cron查找cron的pid,kill -9 PID结束cron进程,然后通过/etc/init.d/cron start重新启动cron。

    2. 确认cron条目中的脚本路径为绝对路径。

    3. 查看运行cron的用户帐号是否正确,同时查看/etc/cron.deny中是否包含此账户。

    4. 检查脚本的执行权限,脚本目录以及日志的文件权限。

    5. 建议通过后台方式运行脚本,在脚本条目后添加“&”,例如,*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &


    15. 如何设置opensuse服务器开机任务?

    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中配置。


    16. 为什么服务器硬盘只读?

    硬盘只读的常见原因如下:

    1. 磁盘空间满可以通过df -m命令查看磁盘使用情况,然后删除多余的文件释放磁盘空间(非第三方文件不建议删除,如果需要请联系企业QQ确认);

    2. 磁盘inode资源占用完可以通过df -i命令查看,确认相关的进程;

    3. 硬件故障。

    如果hosting应用通过上述方式仍无法确认原因,请通过企业QQ联系运维支持协助定位。


    17. 如何查看linux系统日志?

    系统级别的日志文件存放路径为/var/log。常用的系统日志为/var/log/messages 。


    18. 如何查找文件系统大文件?

    可以首先通过df命令查看磁盘分区使用情况,比如df -m;然后:通过du命令查看具体文件夹的大小,比如du -sh ./*,du -h --max-depth=1|head -10;使用ls命令列出文件以及大小,比如ls -lSh;另外,也可以通过find命令直接查看特定目录下的文件大小,比如find / -type f -size +10M -exec ls -lrt {} \;


    19. 如何查看服务器操作系统版本?

    可以通过下列命令查看系统版本:uname -a,cat /proc/version,cat /etc/issue


    20. 如何重启服务器?

    方式1:登录open.qq.com管理中心重启服务器(详细操作说明见:CVM_V2申请和管理#3.2 服务器重启)。

    方式2:如果方式1不生效,可以尝试在服务器上以root运行reboot命令进行重启。


    21. 为什么linux终端显示中文会出现乱码?

    服务器本身没有对显示语言有限制,如果是终端软件的影响中文的显示可以尝试调整 选项-会话选项-外观(secureCRT设置,其他版本软件请查找相关设置);如果是纯Linux shell出现乱码,请使用export命令查看用户环境变量,查看LANG,LC_CTYPE等环境变量设置。


    22. 如何设置通过SecureCRT连接CVM服务器的超时时间?

    可以通过如下设置,使SecureCRT连接CVM时,不断开连接:打开secureCRT选项(Options),选择会话选项(Session Opetions),点击终端(Terminal),在右侧反空闲(Anti-idle)的框中勾选发送协议NO-OP(Send protocol NO-OP),时间设置为每120秒(every 120 seconds)。


    24. 如何获得CVM的root权限?

    详见:root权限说明。


    25. 为什么删除linux服务器上的文件,硬盘空间不释放?

    现象:登录linux服务器,执行 rm 命令删除文件,用 df 命令查看硬盘空间,发现删除文件后,可用的硬盘空间没有增加。原因:通过 rm 命令删除文件的时候,如果正好有其它进程在访问该文件,通过 df 命令查看,删除的文件占用的空间是没有立即释放的。解决方法:使用root权限执行 lsof |grep deleted ,查看正在使用被删除文件的进程的PID,通过命令 kill -9 PID 杀掉对应的进程即可。


    Linux后台服务器开发技术视频:

    Linux后台服务器开发技术电子书:



    关注一波再走吧,需要Linux进阶资料的朋友可以私信【资料】

    留言获取(没错,就是这么多这么全)

    若回复不及时,还望见谅


    相关推荐

    “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选

    明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...

    VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"

    首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...

    东营交警实名曝光一批酒驾人员名单 88人受处罚

    齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...

    Qt界面——搭配QCustomPlot(qt platform)

    这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...

    大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写

    老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...

    测试谷歌VS Code AI 编程插件 Gemini Code Assist

    用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...

    顾爷想知道第4.5期 国服便利性到底需优化啥?

    前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...

    掌握Visual Studio项目配置【基础篇】

    1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...

    还嫌LED驱动设计套路深?那就来看看这篇文章吧

    随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...

    Visual Studio Community 2022(VS2022)安装图文方法

    直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...

    Qt添加MSVC构建套件的方法(qt添加c++11)

    前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...

    Qt为什么站稳c++GUI的top1(qt c)

    为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...

    qt开发IDE应该选择VS还是qt creator

    如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...

    Qt 5.14.2超详细安装教程,不会来打我

    Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...

    Cygwin配置与使用(四)——VI字体和颜色的配置

    简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...

    取消回复欢迎 发表评论: