摘要
运维的目的是为了保证企业信息数据的持续可用性和绝对安全性。
进程管理
进程
-
在Linux系统中,任何一个进程都有父进程和一个唯一进程ID号。运行一个程序是,操作系统首先产生一个进程(分配内存、读入代码、建立进程控制块),将其插入就绪队列中等待CPU调度。
-
启动Linux并执行完内核初始化后首先启动1号进程(默认是/sbin/init),其父进程ID号为0。
-
每一个进程在任何时刻只能处于一种状态,处于一种状态的进程形成一个队列。对于单核或者非堆成多处理器的计算机,每时每刻只有一个进程处于运行状态。进程状态有:就绪、运行、暂停、不可中断等待、可中断等待、僵尸状态。
-
进程的状态转换:

- 僵尸进程无法杀死,只有重启计算机或者杀死其父进程。
- 不可中断进程也杀不死,只能重启计算机或创造其等待的资源。
- Linux系统中的进程具有优先级,-20到19共40个级别,值越小优先级越高,默认是0级别。优先级高的进程具有更多的机会使用CPU等待资源。优先级动态可调,在输入待执行命令时指明优先级,或者事后调整。
进程管理命令
ps PID #查看系统中进程ID号,PPID 父进程ID号、UID启动该进程用户ID号、CMD执行的程序、NI优先级
ps axjf #显示进程树
ps -elf #显示进程优先级
top #查看系统中的任务和资源消耗情况
pstree #以树状结构显示进程
nice -n <优先级> <命令> #以指定的优先级执行该命令
renice <优先级> <PID/命令>#调整某进度或某命令的优先级
renice +4 -u hazel liu #将用户hazel、liu的进程降低四级优先级
renice -5 -g class1 #将属于组class1的进程提高5级优先级
renice -1 987 -u hazel -p 32 #将987号、32号以及用户hazel的进程优先级提高一级
kill -l #列出所有的有效信号
kell -<信号> <目标>
#给目标进程发送信号,<目标> 大于0 表示具体进程号,为0表示与当前进程同组的所有进程,为-1表示进程号大于1的所有进程,为-n表示组号为n的全部进程。
kill -9 123 #想123号进程发送KILL信号,强行杀死它
kill -3 -1000 #向属于组1000的全部进程发送信号3
系统资源查看
计算机资源
日常运维一项重要工作就是密切观察各种资源的使用情况。计算机系统的四大资源包括:
- CPU资源:资源最宽裕,平均使用率为20%
- 内存资源:计算机整体性能的瓶颈,影响速度和容量
- 文件系统资源:主要指硬盘,影响容量和速度。
- I/O设备资源:一般指网络I/O吞吐,具体体现在宽带容量和延时速度
资源的容量和速度之间的关系本质上就是空间和时间的关系。
资源管理
包括资源消耗统计分析和优化。资源消耗统计:
- 查看CPU使用情况
| 命令 | 说明 |
|---|---|
| uptime | 查看CPU运行时间和平均载荷 |
| more /proc/cpuinfo | 查看CPU参数指标 |
| sar -u ALL 10 5 | 以10s为周期,连续统计5次所有CPU的使用情况 |
| top | 实时显示各种资源的使用情况 |
top
#Q键退出查看,1键切换查看每个CPU核的情况,F键增加P列数据,
#Esc键返回top查看界面,发现行末尾增加列P,指明程序运行在那个CPU核上。

- 查询虚拟内存使用情况
| 命令 | 说明 |
|---|---|
| free | 查询内存使用的简要信息 |
| sar -rR 30 60 | 以30s为周期,连续统计60次内存使用情况 |
| vmstat 20 8 | 以20s为周期,连续统计8次内存的动态使用情况 |
- 查看分区使用情况
| 命令 | 说明 |
|---|---|
| fdisk -l | 查看计算机中所有硬盘和USB盘的分区 |
| df -T | 查看已挂载分区的使用情况 |
| df -sh /etc | 统计目录/etc占用磁盘的大小 |
- 查询网络使用情况
| 命令 | 说明 |
|---|---|
| ping <IP地址> | 检查本机与该IP之间的网络是否联通 |
| traceroute www.baidu.com | 跟踪到该网址的网络路径 |
| route / netstat -rn | 显示本机路由表 |
| ifconfig | 显示本机所有网卡的参数配置 |
| netstat -tlnp | 显示被监听的TCP端口 |
| netstat -unlp | 显示被监听的UDP端口 |
| sar -n DEV 30 100 | 以30s为周期统计100次全部网卡的流量 |
任务管理
定时任务:在将来某个时点或系统平均负荷降低到某程度时执行的命令。
分为两类:
- 周期性任务(执行多次)
采用crontab -e进入定时任务编辑页面,每一行代表一个定时任务。一行分为六列,格式为:
分钟 小时 日期 月份 星期 调度的作业/命令
#example
10 4 * * * /bin/backup.bash #每天四点十分执行backup.bash
利用crontab -l列出当前用户所有的定时任务
- 一次性任务(执行一次)
采用at(定时任务)和batch(条件任务)安排一次性定时任务。
at [-f file] time #在time时点执行file文件中的命令。
at 22:00<<<"shatdown -h now" #下个晚上十点关闭系统
at -l #列出所有一次性定时任务
at -r 6 #删除6号定时任务
batch<<<"bzip -9 bigfile.data"
#在系统平均负载小于1.5时执行该命令
batch
at> tar -cjf /tmp/dat.txt /tmp/dat.dat
at><EOT>
#在系统平均负载率小于1.5时,执行打包压缩命令,<EOT>等同Ctrl+D,结束标志。
重要数据的备份
备份可分为在线备份和离线备份,全量备份和增量备份、异地备份和本地备份,实时同步备份和非实时备份,底层块级备份和文件系统备份。
文件系统备份
需要在Linux系统关闭的情况下进行。操作步骤大致为:
- 关闭Linux
- 用Live CD或者安装光盘启动计算机,并进入命令行
- 挂载根分区到/mnt目录
- 创建一个空目录,并把备份分区或者U盘挂载到该空目录
- 进入/mnt,通过执行
find . -exec touch -t 202112120800 '{}' \;盖上时间戳 2021年12月18日8点 - 对/mnt 下的文件全部打包压缩到上面的空目录中
- 重新从硬盘启动系统,备份完毕
本文介绍了Linux运维中的进程管理,详细讲解了进程的状态转换和管理命令。同时,文章探讨了系统资源查看,包括CPU、内存、文件系统和I/O设备资源的监控。此外,还提到了任务管理和重要数据的备份策略,如全量备份、增量备份等。
761

被折叠的 条评论
为什么被折叠?



