linux系统管理之进程管理

linux对于做研发岗位的小伙伴,相信接触的肯定不少,或多或少也应该接触过、使用过。公司开发项目,svn,mysql,git,nginx等等都是部署在linux服务器上的,项目用svn或者git协同开发,最终打包发布也是在云服务器上。这时候我们对linux系统管理的了解那肯定是必不可少的,一些基本命令也需要熟练掌握。

这几个命令还是很常用的,需要重点掌握。进程查看命令:

  • ps命令

  • top命令

  • pstree命令

首先讲讲ps命令的使用方法,下面给出例子和截图方便理解,最好自己动手试一试,学习嘛,就得理论+实践相结合,达到最佳效果。

ps命令的输出内容以及作用:

| 内容 | 含义 |

| — | — |

| USER | 该进程是由哪个用户产生的 |

| PID | 进程的ID号 |

| %CPU | 该进程占用CPU的百分比(占用越高越耗费资源) |

| %MEM | 该进程占用物理内存的百分比(占用越高越耗费资源) |

| VSZ | 该进程占用虚拟内存的大小(单位:KB) |

| RSS | 该进程占用真实内存的大小(单位:KB) |

| TTY | 该进程是在哪个终端运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6本地字符界面终端,tty7图形终端。 |

| pts/0-255 | 代表虚拟终端。 |

ps aux 显示所有进程[一般配合grep和管道符|使用],下面列出aux内容代表的含义:

  • a 所有进程

  • u 进程所属用户

  • x 没有终端控制的进程

在你查看某一个服务进程时,可以先查看下这个服务到底安装过没。使用chkconfig命令查看nginx服务进程,这里强调一下chkconfig命令针对的是rpm包安装的服务。没有安装的小伙伴可以去参考官方文档了解下,多学一点总该没坏处吧,万一以后用到了也会轻松一些:

chkconfig --list | grep nginx

chkconfig命令

ps -aux这样使用在centos6.5的版本中会报出一个警告,但是不妨碍你查看得到的结果。使用过centos7的小伙伴你会发现就算加上“-”也不会出现警告的,这个“-”嘛大多数命令后面都接上了,习惯就好。

可以使用ps命令查看如下等等服务的进程,细心的同学肯定发现了用到了管道符grep进行过滤,只获取你想要的服务进程。只列举了几个,其它的就不一一列举了:

  • ps aux | grep httpd 查看Apache进程

  • ps aux | grep nginx 查看nginx进程

  • ps aux | grep mysql查看msyql进程

  • ps aux | grep java 查看java进程

以上就是ps aux命令的用法

再来看看ps -le命令的用法:

  • -l 以长格式显示进程

  • -e 显示所有进程

ps -le | grep nginx与aux命令其实作用差不多,只是显示的形式不同而已。

以上是ps -le命令的用法

上面了解完ps命令后,接着来学习一下top命令

top [选项],下面给出-d|-b|-n的含义:

  • -d 秒数:指定top命令每隔几秒刷新,默认3秒。

  • -b:使用批处理模式输出,一般和“-n”选项合用。

  • -n次数:指定top命令执行的次数, 一般和“-b”选项合用。

例如:top -b -n 1 > top.log 定向输出到top.log文件中,可以看到更多的信息。值得注意的是,“>”这个符号试将内容清空掉再新增进去,“>>”这个符号是将内容直接追加到文件内容后面。下图会给你一个直观的感觉:

echo ">" ">>"

top 命令:[在top命令的交互模式可以执行的命令]

| 内容 | 含义 |

| — | — |

| ?或h | 显示交互模式的帮助 |

| P | 以CPU使用率排序,默认为此项。 |

| M | 以内存使用率排序 |

| N | 以PID排序 |

| q | 退出top |

top命令如下图所示5行,下面的表格,详细的列出了每行命令的含义

top命令5行的含义

  1. 任务队列信息:这里列出重点load average ,表示系统平均负载,方便你判断系统的健康状态。

| 内容 | 含义 |

| — | — |

| 06:10:21 | 系统时间 |

| 3:48 | 系统运行时长 |

| 2 users | 当前登录用户个数 |

| load average 0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般小于1小时,负载小。如果大于1,系统已经超出负荷【重点】 |

  1. 进程信息状态:关注重点0 zombie,僵尸进程。

| 内容 | 含义 |

| — | — |

| Tasks: 97 total | 系统中的进程总数 |

| 1 running | 正在运行的进程数 |

| 96 sleeping | 休眠的进程 |

| 0 stopped | 正在停止的进程 |

| 0 zombie | 僵尸进程,如果不是0,需要手工检查僵尸进程【重点】 |

  1. CPU信息:CPU这里也有一个需要关注的重点99.8%id,空闲CPU百分比,用于判断系统健康状态。

| 内容 | 含义 |

| — | — |

| Cpu(s): 0.0%us | 用户模式占用CPU百分比 |

| 100.0%sy | 系统模式占用CPU百分比 |

| 0.0%ni | 改变过优先级的用户进程占用CPU百分比 |

| 100.0%id | 空闲CPU百分比【重点】 |

| 0.0%wa | 等待输入/输出占用CPU百分比 |

| 0.0%hi | 硬中断请求服务占用CPU百分比 |

| 0.0%si | 软中断请求占用CPU百分比 |

| 0.0%st | 虚拟时间百分比 |

  1. 内存信息:关注重点,空闲物理内存,内存占用越高,你的系统越卡,这时服务器负载压力会增加,就要考虑加内存了,或者其它业务需求,配置多台服务器集群。

| 内容 | 含义 |

| — | — |

| Mem:1918460k total | 物理内存总量,单位KB |

| 733684k used | 已使用物理内存 |

| 1184776k free | 空闲物理内存【重点】 |

| 62880k buffers | 作为缓冲的内存数量 |

  1. 交换分区(Swap)信息:Swap分区不要觉得它占用了很多空间,就去调小,这样做是不对的,重点关注空闲交换分区大小。值得注意的是,安装linux时swap分区需要配置的,一般为内存的两倍,但没有特别要求。

| 内容 | 含义 |

| — | — |

| Swap: 2064376k total | 交换分区(虚拟内存)的总大小 |

| 0k used | 已使用交互分区大小 |

| 2064376k free | 空闲交换分区大小【重点】 |

| 153956k cached | 作为缓存的交互分区大小 |

以上是top命令的用法及作用

学习完top命令后,接着就是最后一个pstree命令了

pstree命令

  • -p 进程的pid

  • -u 进程所属用户

例如:pstree -p -u 查看所有用户进程pid

以上是pstree命令的介绍

killkillallpkill杀死进程【注意:不到万不得已的情况下,不要轻易杀死进程】。

别整天天杀杀杀(纳尼?玩三国杀玩多了?骚一波。),我们不是一个杀手,而是一位系统管理员或者一位研发人员,需要谨慎一些维护好系统。

  • kill [进程ID]

  • kill -l 查看可用的进程信号

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
[外链图片转存中…(img-3bsKIPyi-1715824823613)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值