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

4.2 经常使用的命令

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

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

输入top命令后,以下所示:缓存

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利用率的统计信息。ssh

CPU利用率统计信息
信息栏 含义
us User Time,CPU执行用户进程百分比,包括Nice Time
sy System Time,CPU在内核运行百分比,包括IRQ百分比
ni Nice Time,调整进程优先级所用百分比
id Idle Time,系统空闲百分比
wa Waiting Time,CPU等待I/O完成所用百分比
hi Hard IRQ Time,硬中断占用的CPU时间百分比
si Soft IRQ Time,软中断占用的CPU时间百分比
st Steal Time,虚拟服务占用的CPU时间百分比

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

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

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

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

什么是交换区(Swap)?阿里云

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

阿里云服务器上的Linux系统默认是没有设置Swap。因为开启Swap分区会致使硬盘I/O性能降低,所以初始状态未配置Swap,若是某些应用须要开启Swap分区,也可经过相应的命令开启。操作系统

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

进程统计信息
信息栏 含义
PID 进程id
USER 进程全部者的用户名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
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。

相关文章
相关标签/搜索