开放源代码Linux管理与服务 课件 项目6 Linux运维_第1页
开放源代码Linux管理与服务 课件 项目6 Linux运维_第2页
开放源代码Linux管理与服务 课件 项目6 Linux运维_第3页
开放源代码Linux管理与服务 课件 项目6 Linux运维_第4页
开放源代码Linux管理与服务 课件 项目6 Linux运维_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux运维作者TeachingObjectives教学目标知识目标技能目标素养目标熟悉Linux系统进程,通过进程监控管理有效优化系统性能。掌握Linux系统资源管理,优化CPU性能,效管理内存资源、文件系统资源、I/O设备资源。熟悉各类日志的管理,特别是内核及系统日志服务rsyslogd管理。熟悉Linux定时任务的使用,更好地进行开展监控、自动化维护等任务。具有通过进程监控管理有效优化系统性能能力。能有效管理Linux系统资源,优化CPU性能,有效管理内存资源、文件系统资源、I/O设备资源能力。通过各类日志的管理,特别是内核及系统日志服务rsyslogd管理,掌握操作系统的运维的能力。通过对Linux定时任务的使用,更好地进行开展监控、自动化维护等任务能力。培养独立思考的能力具有全局意识,团队合作精神具备创新、创意能力,具有职业敏感度和发散思维CONTENTS目录01

进程管理02

系统资源管理03

日志管理04

定时任务进程管理01进程概念

从用户角度,进程是程序的一次动态执行过程;从操作系统核心看,它是系统分配内存、CPU时间片等资源的基本单位,有独立地址空间与执行状态。进程的特征动态性

进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。并发性

任何进程都可以同其他进程一起并发执行。独立性

进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。异步性

由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。结构特征

进程由程序、数据和进程控制块三部分组成。进程与程序的区别

程序是静态概念,可长期存在;进程是动态概念,有生命周期。进程能创建其他进程,同一程序可对应多个进程,不同进程可包含相同程序。进程的管理

进程的五种状态包括R(运行)、S(中断)、D(不可中断)、Z(僵死)、T(终止),各状态有不同含义和条件。R(运行):正在运行或在运行队列中等待。S(中断):休眠中,在等待某个条件的形成或接收到信号。D(不可中断):收到信号不唤醒和不可运,进程必须等待直到有中断发生。Z(僵死):进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放。T(终止):进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行。进程的管理

进程状态之间的转换进程通常在就绪态、运行态、睡眠态和终止态间转换。如就绪态获得CPU资源进入运行态,运行态等待资源进入睡眠态等。进程管理--命令

ps命令命令:ps功能:用于查看系统中正在运行的进程信息。格式:ps[选项][参数]ps是“ProcessStatus”的缩写。在命令行输入“ps”后回车就能查看当前系统中正在运行的进程。表6-1ps参数说明表选项说明-ef显示所有进程的详细信息,包括进程的PID(进程ID)、PPID(父进程ID)、CPU利用率、内存占用等-a显示除控制终端进程以外的所有进程-u以用户为基准显示进程信息-x显示没有控制终端的进程-L显示线程信息–forest以树状结构显示进程信息进程管理--命令ps命令例子A.查看所有进程的详细信息,如图所示。查看当前用户的所有进程,如图所示。

进程管理--命令

top命令功能:查看服务实时的资源占用情况,可以查看到服务的各项性能指标以及各个进行的资源使用情况。格式:top[选项]表6-2top参数说明表选项说明-b批处理-c显示完整的治命令-I忽略失效过程-s保密模式-S累积模式-i<时间>设置间隔时间-u<用户名>指定用户名-p<进程号>指定进程-n<次数>循环显示的次数进程管理--命令

pstree命令功能:以树状图的形式显示系统中的进程,可以直接观察到进程之间的派生关系。格式:pstree[选项]表6-4pstree命令常用的选项表选项说明-a显示每个进程的完整命令(包括路径、参数等)-c不使用精简标识法-h列出树状图,特别标明当前正在执行的进程-u显示用户名称-n使用程序识别码排序(默认以程序名称排序)如图所示以树状图的形式显示系统中的进程。进程管理--命令pgrep命令功能:根据进程名从进程队列中查找进程,查找成功后默认显示进程的pid。格式:pgrep[选项][参数]表6-5pgrep参数说明表选项说明-o仅显示同名进程中pid最小的进程-n仅显示同名进程中pid最大的进程-p指定进程父进程的pid-t指定开启进程的终端-u指定进程的有效用户id例子:查找sshd进程号,如图所示。进程管理--命令nice命令功能:用于调整进程的优先级格式:nice[选项][参数]nice选项常用的选项为-n,n表示优先级,是一个整数。进程管理--命令kill命令功能:用来终止指定的进程(terminateaprocess)的运行。格式:kill[参数][进程id]表6-6kill常用参数说明表参数说明-l或--list列出所有信号名称及其编号。-s或--signal指定要发送的信号名称或编号。-n指定信号的编号。-9强制发送SIGKILL信号,立即终止进程。-0检查进程是否存在,但不发送信号。例子:我们要关闭top进程,先用ps查找进程,然后用kill-9强制杀掉进程,如图所示。

从上使用ps查找得到top进程号为7239,下面使用kill把sshd进程kill,如图所示。进程管理--命令kill命令这里要说明的是init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。其它所有进程都是init进程的子孙。init进程是不可杀的!系统资源管理02CPU资源01CPU使用率CPU使用率系统自带检测命令:ps、top。top查询进程cpu和内存信息。

一般情况下,CPU使用率保持在50%以下是正常的,CPU使用率在0%到75%之间变化时,这是一种非常正常的现象,但如果经常出现,则利用率达到90%以上。然后有必要对电脑进行全面检查。02CPU平均负载使用uptime命令可查看CPU平均负载,如显示“0.00,0.00,0.00”分别代表1分钟、5分钟和15分钟的系统负载情况,通过它能分析系统繁忙程度。CPU资源03CPU性能优化--调整CPU调度策略

Linux系统中默认的CPU调度策略是完全公平调度(CFS),它会根据进程的优先级和运行时间进行调度。但是,在某些情况下,CFS策略可能会导致系统响应速度较慢。因此,可以通过调整CPU调度策略来优化系统性能。04CPU性能优化--实时调度策略编辑以下文件,在文件末尾添加内容:命令:vim/etc/security/limits.conf-rtprio99-nice-20这条命令会将所有用户的实时优先级(rtprio)设置为99,将所有用户的静态优先级(nice)设置为-20。05CPU性能优化--优化进程和服务

通过以下方法来减少CPU占用率:关闭不必要的进程或服务。优化进程或服务的代码,减少CPU的使用量。调整进程或服务的优先级,让重要的进程或服务优先执行。使用CPU限制工具,如cgroups或cpulimit等,限制进程或服务的CPU使用率。内存资源调整内存使用方式Linux系统中内存的使用方式有两种:物理内存和虚拟内存。

物理内存是主存储器,用于存储正在运行的程序和数据。

虚拟内存是硬盘空间,用于存储不常用的程序和数据。调整交换空间大小

交换空间是虚拟内存的一种形式,它可以让不常用的程序和数据存储到硬盘上,从而释放物理内存。但是,如果交换空间过小,会导致系统响应速度较慢。因此,建议根据系统的实际情况调整交换空间的大小。Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况,使用Swap分区来提升系统运行效率。内存资源调整交换空间大小例子:

下面通过一个例子说明调整交换空间,提高提升系统运行效率。查看系统中交换空间的大小调整交换空间的大小创建一个交换文件,如图所示。设置交换文件的权限,如图所示。格式化交换文件,如图所示。启用交换文件,如图所示内存资源调整内存使用策略

几种常见的内存使用策略:内存回收策略:用于回收不使用的内存,以提高系统的响应速度。内存压缩策略:用于将未使用的内存压缩储存,以减少内存占用。内存分配策略:用于分配内存给进程和服务,以满足它们的需求。内存回收策略内存回收命令分两种情况:手动回收命令使用以下命令可以手动回收不使用的内存,如图所示。命令:echo1>/proc/sys/vm/drop_caches这条命令会清空系统中的pagecache和slab内存,从而释放内存。自动回收命令可以通过以下命令将内存回收策略设置为自动回收,如图所示。命令:echo3>/proc/sys/vm/drop_caches这条命令会将内存回收策略设置为自动回收。内存资源调整内存使用策略内存压缩策略在Linux系统中,可以使用zram或zswap等内存压缩工具来压缩未使用的内存,从而减少内存占用。以下是使用zram的方法:目前我们的教材是使用CentOS8.4版本,已安装zram。

使用以下命令来检查zram模块是否已加载。如图所示。命令:lsmod|grepzram加载内核模块,如图所示。命令:modprobezram查看zram设备,zram设备的大小,如图所示。可以看到zram设备大小为“0”。需要配置zram设备的大小。命令:cat/sys/block/zram0/disksize配置zram设备大小,配置为“2G”,如图所示。命令:echo2G>/sys/block/zram0/disksize查看zram设备,zram设备的大小,如图所示。命令:cat/sys/block/zram0/disksize交换设备初始化及启动,如图6-25所示。命令:mkswap/dev/zram0&&swapon/dev/zram0内存资源调整内存使用策略内存分配策略以下是使用cgroups的方法:检查cgroups挂载用cat/proc/cgroups命令或grepcgroup/proc/mounts命令可以检查/proc/cgroups文件或/proc/mounts来确认cgroups是否已挂载,如图所示。命令:cat/proc/cgroups创建一个cgroup,如图所示。命令:cgcreate-gmemory:/mygroup将进程添加到cgroup中我们通过ps命令查看一些进程ID。从下图可以知道进程Bash的进程为6638。我们把Bash进程添加到cgroup中,如图所示。内存资源调整内存使用策略内存分配策略将指定的进程添加到mygroupcgroup中。如图所示。格式:cgclassify-gmemory:/mygroup[进程ID]命令:cgclassify-gmemory:/mygroup6638限制cgroup的内存使用量我们在做限制cgroup的内存使用量时,先使用cgcreate命令来创建一个新的cgroup,如图所示这里,my_memory_limited_group是你为cgroup命名的名称。命令:cgcreate-gmemory:/my_memory_limited_group配置内存限制:使用cgset命令来设置cgroup的内存限制内存限制。如图6-30所示,这里,1000000是以字节为单位的内存限制,例如1MB。如果你想限制为1GB,就是1000000000。格式:cgset-rmemory.limit_in_bytes=[内存限制值]memory:/[group]命令:cgset-rmemory.limit_in_bytes=1000000/my_memory_limited_group查询内存限制值是否生效

我们使用cgget命令来查询当前cgroup的配置,如图6-30所示。命令:cgget-rmemory.limit_in_bytes/my_memory_limited_group文件系统资源

磁盘使用查看使用df-h可查看文件系统的磁盘使用情况,du-sh/path/to/directory可查看目录和文件的磁盘使用情况,助于掌握磁盘空间占用。

文件系统选择不同应用场景需选择合适文件系统,如服务器选ext4或XFS,可移动设备选FAT32或NTFS,满足不同数据存储和访问需求。文件系统负责跟踪文件的位置、大小、权限、创建和修改时间等信息。Linux支持多种文件系统类型,每种类型都有其独特的特性和用途。I/O设备资源I/O(输入/输出)设备资源管理是在Linux操作系统中管理和优化输入和输出设备的过程。有效的I/O设备资源管理可以提高系统性能、优化设备利用率和响应时间,并提供更好的用户体验。通过合理地分配和调度I/O资源,可以避免资源竞争和瓶颈问题,从而提高整个系统的效率。以下是一些常用的命令来查看和管理这些资源,这些操作需要root权限。查看所有可能的字符设备和块设备:ls/dev

查看系统中的I/O设备使用情况:ls/sys/class

查看特定设备的详细信息,如磁盘:cat/sys/class/block/sda/device/model或cat/sys/class/block/sda/device/size

监控I/O使用情况,可以使用iostat工具:iostat-dx1

查看设备的节能状态,可以使用cat读取/sys/block/<device>/device/delete:cat/sys/block/sda/device/delete

管理I/O调度器,可以通过设置/sys/block/<device>/queue/scheduler:echonoop>/sys/block/sda/queue/scheduler日志管理03Linux日志管理是指对Linux系统中产生的各种日志文件进行收集、分析、备份、轮转和删除等操作,以便监控系统的运行状况,诊断和解决问题,提高系统的安全性和性能。日志管理作用:记录系统事件:日志文件记录了系统启动、运行和关闭过程中的各种事件,包括系统错误、警告、信息性和调试信息。故障排查:当系统出现问题时,日志文件可以帮助管理员快速定位问题的根源,了解问题发生的时间、原因和影响范围。日志概念日志文件是重要的信息系统文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮寄相关信息、各种服务相关信息。不仅如此,日志对于安全来说也很重要,它记录了系统每天发生的各种事情,可以通过日志来检查错误发生的原因或者受到攻击时攻击者留下的痕迹。日志的管理一般包括两大部分:日志内容:合理的日志内容(日志锚点,内容格式,等)可以为应用服务的执行记录、问题排查提供最有力的帮助。日志存档规则:包括日志分割方式(按日期、按文件大小,等),日志存档数量,如只保存最近一个月,等。日志的类型

01内核及系统日志由系统服务rsyslog统一管理,依据主配置文件/etc/rsyslog.conf设置,记录内核消息及各种系统程序消息,如系统启动、运行和关闭过程中的事件。

02用户日志记录Linux系统用户登录及退出系统的相关信息,涵盖用户名、登录终端、登录时间、来源主机、正在使用的进程操作等。

03程序日志部分应用程序独立管理的日志文件,用于记录自身运行过程中的各种事件信息。日志文件位置Linux系统中的日志文件通常存放在/var/log目录下,不同的程序和服务会生成不同的日志文件,记录了各种类型的信息,如内核消息、用户登录事件、程序错误等。这些信息有些非常敏感,所以在Linux中这些日志文件只有root用户可以读取。表6-7常见的日志文件及其存放内容日志文件存放内容/var/log/message内核消息及各种应用程序的公共日志信息,是RedHatLinux中最常用的日志之一/var/log/secure与安全相关的日志信息/var/log/maillog与邮件相关的日志信息/var/log/cron与定时任务相关的日志信息/var/log/dmesg引导过程中的各种事件信息/var/log/lastlog每个用户最近一次登录信息/var/log/wtmp每个用户登录注销及系统启动和停机事件/var/log/btmp失败的、错误的登录尝试及验证事件Linux日志文件格式分析由日志服务rsyslogd记录的日志文件,它们的格式就都是一样的。所以我们只要了解了日志文件的格式,就可以很轻松地看懂日志文件。四个字段:时间标签:消息发出的日期和时间主机名:生成消息的计算机的名称子系统名称:发出消息的应用程序的名称消息:消息的具体内容我们以/var/log/secure日志为例说明这个日志中主要记录的是用户验证和授权方面的信息,如图所示。查看和分析日志文件命令工具tail-f实时监控使用tail-f选项可实时监控日志文件的变化,及时获取最新的日志信息,便于快速响应系统事件。last/lastb查看登录记录last命令用于查看成功登录到系统的用户记录,lastb命令用于查看用户错误的登录列表,有助于排查异常登录行为。journalctl查询内存日志journalctl可查询内存中的日志,常用参数如-perr可查看报错日志,还可通过--since和--until指定时间范围查看日志。定时任务04Linux定时任务定时任务是指在Linux系统中用户安排周期性或单次执行的时间执行指定的任务。如数据备份、系统监控等的任务。定时任务的作用定时任务的作用自动备份:可以设置定时任务定期备份重要数据,确保数据的安全性。定时清理:可以定时清理临时文件、日志文件等,释放磁盘空间,提高系统性能。定时监控:可以定时运行脚本或命令,监控系统运行状态、服务状态等。定时更新:可以定时更新系统软件包、安全补丁,确保系统的稳定性和安全性。定时任务调度:可以定时执行一些需要在特定时间点运行的任务,如定时发布文章、发送邮件等。定时任务提醒:可以定时发送提醒邮件或短信,提醒用户进行一些重要的操作或事件。定时重启:可以定时重启系统,以达到清理系统进程、释放资源、提高系统性能的目的。计划任务的类型计划任务主要分为一次性计划任务和周期性计划任务。一次性计划任务只执行一次,一般用于临时的工作需求,可以用at命令实现。例如计划在今晚12点30分重启你的CentOS服务器。长期性计划任务是需要系统能够周期性、规律地执行某些具体的任务,则需要使用系统默认启动的crond服务。例如每周一的凌晨3点将/home/123目录打包备份为123.tar.gz。管理定时任务在Linux中,常用的定时任务程序有系统自带的at和cron命令。其中,cron是一个强大的定时任务工具,可以按照设定的实际时间执行命令。

每种方法都有详细的步骤和注意事项,包括服务的创建、定时器的配置以及命令的使用等。这些方法可以满足不同的定时任务需求,如每天、每周或一次性执行等。管理定时任务at命令安装在CentOS8.4版本中,at服务默认已安装,若需安装可使用命令“yuminstallat”。at服务启动启动at服务:systemctlstartatd设置开机自动启动:systemctlenableatd用于设置一次性任务,它会在指定的时间运行一次任务。它允许指定将在未来某个时间点执行的命令。使用at设置定时任务管理定时任务使用at设置定时任务命令:at功能:在time时点执行文件中的命令,如果没指定file文件,那么从标准输入设备读取。格式:at[-ffile]time例子:如果你想在明天上午9:00执行一个脚本script.sh文件,如图所示。命令:at-fscript.sh9amtomorrow例如:我们需要设置在今晚23:30重启HTTP服务,这里我们输入每一行的方式完成全过程的输入,如图所示。命令:at23:30#在命令行下输入执行的时间点。at>systemctlrestarthttpd#在命令行下输入执行的操作命令行。at><Ctrl+D>#按Ctrl+D组合键来结束编写计划任务管理定时任务列出待执行的at任务,用了命令后,可以从列表中已设置计划任务有4个,如图所示。命令:atqatq命令:

如要删除已设置的任务,可以用atrm任务序号命令,如图所示。命令:atrm3删除at任务

查看已设置但未执行的一次性计划任务,如图所示。命令:at-l查看已设置但未执行的命令使用管道符将两个命令连接在一起,如图所示。命令:echo"systemctlrestarthttpd"|at23:30使用管道符连接使用at设置定时任务--at任务的一些管理管理定时任务使用at设置定时任务--at指定时间的方法例子:A.指定当日的时间使用hh:mm(小时:分钟)的时间格式。如果时间已过,那么任务会在次日执行。例如:

at04:00B.使用模糊词语如midnight(深夜)、noon(中午)、teatime(下午茶时间,一般是下午4点)来指定时间。例如:atmidnightC.12小时计时制在时间后面加上AM(上午)或PM(下午)例如:at12pmD.指定具体日期使用monthday(月日)或mm/dd/yy(月/日/年)格式。例如:at04:0003/01/21E.使用相对计时法指定格式为now+counttime-units。其中:now表示当前时间,time-units为时间单位(分钟、小时、天、星期)。例如:atnow+5minutes#表示过后五分钟at04pm+3days#表示3天下午4点

管理定时任务

使用cron设置定时任务--crondcrond就是计划任务,类似于我们平时生活中的闹钟。

定点执行。主要是做一些周期性的任务。比如:凌晨3点定时备份数据。比如:11点开启网站抢购接口,12点关闭网站抢购接口等等。

分为以下两种使用情况A.系统级别的定时任务:临时文件清理、系统信息采集、日志文件切割B.用户级别的定时任务:定时向互联网同步时间、定时备份系统配置文件、定时备份数据库的数据。管理定时任务使用cron设置定时任务--计划任务时间管理

说明:“*”表示任意的(分、时、日、月、周)时间都执行“-”表示一个时间范围段,如5-7点“,”表示分隔时段,如6,0,4表示周六、日、四“/1”表示每隔n单位时间,如*/10每10分钟管理定时任务使用cron设置定时任务--计划任务时间管理

管理定时任务使用cron设置定时任务--使用crontab编写cron定时任务

Crontab命令功能:定时任务调度器。它允许用户在指定的日期和时间运行脚本和命令。格式:crontab参数表6-8crontab参数说明表参数说明-e

编辑定时任务-l

查看定时任务-r

删除定时任务-u

指定其他用户管理定时任务使用cron设置定时任务--使用crontab编写c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论