《App后台开发运维与架构实践》第4章 Linux系统

4.2 常用的命令

4.2.1 全面了解系统资源情况——top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

输入top命令后,如下所示:

6c1f688b7fe24f506922031886008991387.jpg

top命令显示的前5行是统计信息,第一行是基本信息。

信息栏含义
11:25:21 up 19:29当前时间和系统运行时间,格式为时:分。这里表示已经运行了19小时29分
2 users当前登录用户数
load average:0.00,0.00,0.00系统负载。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

第二行是任务的信息。

信息栏含义
total进程总数
running正在运行的进程数
sleeping睡眠的进程数
stopped停止的进程数
zmobie僵尸进程数

第三行是CPU利用率的统计信息。

信息栏含义
usUser Time,CPU执行用户进程百分比,包括Nice Time
sySystem Time,CPU在内核运行百分比,包括IRQ百分比
niNice Time,调整进程优先级所用百分比
idIdle Time,系统空闲百分比
waWaiting Time,CPU等待I/O完成所用百分比
hiHard IRQ Time,硬中断占用的CPU时间百分比
siSoft IRQ Time,软中断占用的CPU时间百分比
stSteal Time,虚拟服务占用的CPU时间百分比

第四行是内存的使用信息。

信息栏含义
total总物理内存
used已使用的物理内存
free空闲的物理内存
buffers缓冲的总量。存放准备写入磁盘的数据
cached缓存的总量。存放从磁盘中读取出来的数据

第五行是交换区的使用信息。

信息栏含义
total交换区的总大小
used已使用交换区的总大小
free未使用交换区的总大小

什么是交换区(Swap)?

Linux的交换区是硬盘上的一块空间。在内存不足的情况下,操作系统先把内存中暂时不用的数据存到硬盘的交换区,腾出内存来让别的程序运行。

阿里云服务器上的Linux系统默认是没有设置Swap。由于开启Swap分区会导致硬盘I/O性能下降,因此初始状态未配置Swap,如果某些应用需要开启Swap分区,也可通过相应的命令开启。

top命令显示的第6行开始是进程统计信息区。

信息栏含义
PID进程id
USER进程所有者的用户名
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRI进程使用的虚拟内存总量,单位KB
RES进程使用的、未被换出的物理内存大小,单位KB
SHR共享内存大小,单位KB
S进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND命令名/命令行

4.2.2 显示进程状态——ps

ps命令是显示当前系统中进程的状态,这个命令显示的只是运行ps命令瞬间的状态,如果需要显示不断更新的状态,可以使用“top -p 进程id”命令。

ps命令的常用参数如下。

  • a:按用户名和启动时间的顺序来显示进程。
  • u:显示所有用户的所有进程(包括其他用户)。
  • x:显示无控制终端的进程。
# 显示所有的进程
ps -aux
# 只显示某个进程
ps axu|grep 进程名

 通过ps,管道命令“|”和grep就能把输出中匹配进程名的行检索出来。

4.2.3 查看网络相关信息——netstat

查看服务器的网络连接情况,比如

  • 查看某个端口是否开启。
  • 查看某个端口是由哪个程序开启。
  • 查看某个端口的连接数。

netstat命令的常用参数如下。

  • -l:listen,监听的端口。
  • -a:显示所有的Socket,包括正在监听。
  • -n:显示数字格式的地址。
  • -t:监听TCP的端口。
  • -u:监听UDP的端口。
  • -p:显示建立相关链接的程序名。
# 查看系统中启动的端口
netstat -lntup

# 查看系统中是否开启80端口
netstat -lntup|grep 80

# 查看系统中80端口的连接情况
netstat -ant|grep 80

4.2.4 查看某个进程打开的所有文件——lsof

lsof(list open files)是一个列出当前系统打开文件的工具。常用的参数如下。

  • -p:进程id。
# 查看进程id打开的文件
lsof -p 进程id

4.2.5 跟踪数据到达主机所经路由——traceroute

4.2.6 文件下载/上传工具——“ssh secure shell client”和“lrzsz”

  • “ssh secure shell client”是一个在Windows下通过ssh连接服务器的软件,其自带了文件的上传和下载功能。
  • lrzsz

lrzsz软件包,在Linux里可代替FTP上传和下载。安装lrzsz只要执行命令:

yum -y install lrzsz

往Linux服务器上传文件,只需在目标文件夹下执行如下命令,然后ssh客户端弹出窗口让用户选择上传的文件。

rz

把Linux服务器的文件下载到本地,可执行如下命令,在ssh客户端弹出文件窗口让用户选择下载文件的保存路径。

sz 目标文件

4.2.7 查看程序的依赖库——LD_DEBUG

4.2.8 进程管理利器——supervisor

  • 能自动启动配置好的进程,并监控每个进程的状态。
  • 监控的进程如果因为各种原因闪退,能自动重启该进程。

安装supervisor命令:

yum install supervisor

 其配置文件/etc/supervisord.conf。

为了更好地管理进程监控脚本,把进程监控脚本放在/etc/supervisord/conf.d/下。例如,为监控运行脚本/data/sendmail.sh,创建文件/etc/supervisord/conf.d/mail.conf。

转载于:https://my.oschina.net/lienson/blog/3035433

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值