被迫学习一波Linux命令

这篇具有很好参考价值的文章主要介绍了被迫学习一波Linux命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

事情起因

部署一个服务,人家说了最低配置是3G,我没当回事,拿着个2G的服务器直接就上了,结果,哈哈,都能猜到结果:服务器内存爆了!!!而且最可气的是服务器还登不进去,重启之后内马上又被拉满了,根本连接进不去。算是一次小小的事故,记录是为了不再犯同样的错误。

排查根因

上面说到,内存爆满,重启后短时间继续爆满,排查的问题的时间很有限,要快速定位到问题。其实我想到了:有服务在开机后自动重启,并且迅速拉起了其他子进程导致。本来给个3G的内存啥事也没有(本地测试都过了的),奈何云服务器就那么点资源,而且当时买的时候也没考虑那么多。

解决问题

针对以上猜想,查询一下最占用内存的都是哪些进程:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
果然,有一个进程52.6%,就是它了,kill掉。
结果很快内存又满了,再次重启,发现有两个用户gitgitlab占用最高,于是把这个用户的所有进程都干掉:
pkill -u git
或者
killall -u git
好了,暂时没有问题了,于是很满意地吃饭去了。之后我想着那不要再重启一次吧,果然不出我所料,重启后又爆了。我仔细想了想刚刚坏之前执行过什么命令,应该就是它导致的,是的,就是gitlab-ctl这个主控进程一直在自动拉起其他子进程,本来内存要求就不够,自然会爆掉。
gitlab-ctl stop
一大推子进程被停掉了,还是不放心,于是禁止这个程序开机自启:
systemctl disable gitlab-runsvdir.service
至此,问题圆满解决。

反思总结

1、别人给的配置不是乱给的,最小配置一定是经过测试的,毕竟寸‘土’寸金,这一点不用质疑;
2、赶快给服务器装上监控,不要再裸机跑了,配置上必要的告警,及时知道资源的监控状况;
3、不要随便使用root用户操作,如果今天这个进程是root运行的,那估计很难救了,在没查清楚是哪个进程之前你总不能把root下的所有进程都kill了吧?
4、虽然只是个人服务器上的一次小小事故,但是同样适用于生产,请谨慎操作,对自己也对他人负责;
5、最后把今天用到的linux命令再次做一个梳理吧:

:kill某个用户下的所有进程的命令(四种方式)

pkill -u git
killall -u git
pgrep -u git | xargs kill -s 9

# cut -c 9-15都是为了拿到pid,也可以用awk '{print $2}' 替换
ps -ef | grep git | grep -v grep |  cut -c 9-15 | xargs kill -s 9
ps -ef | grep git | grep -v grep |  awk '{print $2}' | xargs kill -s 9

:查看占用资源最大的进程:

# +4表示的是内存,cpu则+3
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

ps aux --sort -rss | head

方法不止一种,第一先解决问题,第二再慢慢积累。

转:关于资源占用的更多骚操作。

共勉。文章来源地址https://www.toymoban.com/news/detail-652296.html

到了这里,关于被迫学习一波Linux命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux学习】Linux必备命令(一)--之touch命令详解

    【Linux学习】Linux必备命令(一)–之touch命令详解 touch 命令主要用于创建普通文件,用法为 touch test.txt,如果文件存在,则表示修改当前文件时间,常用参数详解如下: 创建新文件,或在文件夹下创建新文件 修改文件的访问(access)时间,修改文件的更改(modify)时间 指定

    2024年02月12日
    浏览(34)
  • 【Linux学习】Linux必备命令(一)--之mv命令详解

    【Linux学习】Linux必备命令(一)–之mv命令详解 mv 命令主要用于重命名或者移动文件或者目录,用法, mv old.txt new.txt,常用 参数详解如下: 移动文件 移动文件到目录或重命名 同名文件确认后覆盖 同名目录无需确认直接覆盖 同名文件覆盖前备份 当源文件比目标文件新,或者

    2024年02月09日
    浏览(38)
  • Linux学习笔记——ElasticSearch安装部署

    5.6.1、简介 全文搜索属于最常见的需求,开源的ElasticSearch(以下简称es)是目前全文搜索引擎的首选。 它可以快速的储存、搜索和分析海量数据。维基百科、Stack Overflow、GitHub都采用它。 ElasticSearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。 很多服务中的搜

    2024年02月09日
    浏览(25)
  • Linux操作系统学习,Linux基础命令大全

    友情提醒 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 ①Linux是基于Unix的开源的免免费的一款操作系统,由于系统的稳定性和安全性被成为程序代码运行的最佳操作系统环境。 ②Linux发行版的不同,可以分为 1)乌班图:Ubuntu 2)红帽

    2024年02月14日
    浏览(50)
  • Linux(二)---------网络命令学习(ifconfig命令)

    用于配置网卡ip地址信息,等网络参数信息,或者查看显示网络接口信息,类似于windows的ipconfig命令,还能够临时性的配置ip地址,子网掩码,广播地址,网关信息等。 注意ifconfig命令智能用root 去操作,且可能要单独安装这个命令。 1)查看网络地址信息    上面代码的含义

    2024年01月20日
    浏览(23)
  • linux命令学习

    sudu和su的区别:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。当灭有root账户时,可以使用sudo su进入超级用户模式。 创建root账户: sudo passwd root centos使用yum,ubuntu使用apt来安装。默认的 Ubuntu 软件源包含了一个软件包组,名称为 “build-essential”,它包含

    2024年01月24日
    浏览(18)
  • Elasticsearch的高阶使用方法有哪些?,后端程序员必备的Linux基础知识+常见命令

    ③should 通用的道理:多个查询条件通过should连接,相当于以前常用的or,说白了也就是逻辑运算符“与”。 ps :关于其格式使用,不要看它图中好像挺复杂的样子,其实都可以通过工具有提示,并且这些写多了基本也就知道了。 2范围查询 商品都有自己的价格,用户可以通过

    2024年04月08日
    浏览(67)
  • Linux - awk 命令 快速学习

    awk会对数据流(可以是系统的文件, 网络的文件, 管道流)的每一行, 以某个分隔符分割,进行处理并输出内容.  - F:   以:分割字符串,等于 -F \\\":\\\" \\\'{}\\\'   运行代码 print   输出 $1,$3   分隔之后的第一和第三个字符,中间是逗号, 输出分隔默认是空格 |  管道命令, 作为后面命令的输入流

    2024年02月16日
    浏览(39)
  • Linux学习-98-关机操作命令

    19.1 关机操作 在Linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。 关机指令为:shutdown; 不管是重启系统还是关闭系统,首先要运行Syc命令,把内存中的数据写到磁盘中 Linux系统中一切皆文件;根

    2024年02月05日
    浏览(44)
  • 【Linux】常用命令的汇总学习

    1.目录切换命令 cd home : 切换到该目录下 home 目录 cd .. : 切换到上一层目录 cd / : 切换到系统根目录 cd ~ : 切换到用户主目录 cd - : 切换到上一个操作所在目录 2.目录操作命令 mkdir 目录名称 : 增加目录。 ls/ll (ll 是 ls -l 的别名,ll 命令可以看到该目录下的所有目录和文

    2024年02月06日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包