系统管理 五大负载

开机自检:

服务器开机之后,根据bios设置,对一系列的硬件设备进行初步检测,CPU 内存显卡,外界设备鼠标键盘,硬盘。检测成功后,系统会根据预设的启动顺序,移交系统的控制权,绝大数情况都是移交给硬盘,检测硬件设备,找到系统硬盘,然后移交控制权到硬盘

MBR引导:
根据第一个硬盘第一个扇区的MBR(主引导记录)找出操作系统所在的分区,把控制权移给包含系统引导文件的分区,调用grub菜单,控制权转移到grub菜单

grub菜单:多系统的引导器程序。

系统控制权交给grub之后,显示启动菜单供用户选择。选择完系统之后,系统的控制权会移交给所选操作系统的内核文件

centos 7使用的grub2启动引|导器。

/boot/grub2/grub.cfg

获取内核文件的设置和路径

加载内核:

/boot目录当中

linux内核文件,事先编译好的可执行的二进制文件。介于各种硬件资源和系统程序之间,调度以及分配资源,给进程使用。所有需要的启动文件和相关的配置操作放到内存中。系统控制权的移交

Initi进程初始化:

把加载到内存当中处理配置和处理进程一并执行,生效,开机过程结束,等待用户登录

面试简略步骤回答:

bios自检(检查硬----MBR(找操作系统)--- grub (选择操作系统) ----加载内核(处理配置,处理开机启动程序,放到内存中)

----lniti(系统配置生效,运行开机启动程序,整个过程结束,等待用户登录)

init: init初始化已经被淘汰。

申行:他是把系统当中配置的脚本和启动程序脚本,按照顺序一个一 个执行。

centos7 : systemd 取代传统的init方式。并行:一起运行

systemd也是Linux所有进程的第一个进程,所有其他进程都是system的子进程,pid进程号,systemd号是1

ps -elf:查看系统的进程

centos 7 /usr/lib/systemd/ 1

以前: /sbin/init 1

systemd:

控制方式:控制单元[unit],来进行描述和控制系统服务和资源。

单元类型:

service:指的就是服务,进程提供的特定功能就是服务。

socket:通信套接字,提供端口通信服务。

target:一组服务的集合,描述的是系统运行级别

systemctl:系统服务控制命令

systemctl: 控制类型,服务名称

serice控制类型:

start:开启                      reload:重新加载(推荐用)        disable:关闭开机自启

status :表示进程的状态                      stop:停止,关闭服务                 reboot:重启

restart: 重启不推荐         enable:开机自启                          systemctl restart httpd   

restart:改配置文件一定把服务重新加载                              reload :不需要关闭进程,推荐用这

systemctl reload httpd 

systemctl stop firewalld(关闭防火墙仅限于实验环境

systemctl status httpd  

running:运行状态

dead:服务已经停止运行

failed:服务有异常,一般来说,是配置文件有错

服务异常输入tail -f /var/log/messages:系统日志,所有系统的运行,控制记录都在这个文件中(查日志哪里有问题)

tartget:linux系统的运行级别:

0  -----------关机

1-------------单用户模式,不需要密码即可登录,用于系统维护

2-------------字符界面

3--------------字符界面

4--------------字符界面

5--------------图形化界面

6--------------重启

target

rescue.target

multi-user.target

multi-user.target

multi-user.target

graphical.target

reboot.target

runlevel:查看系统的运行级别

N5 ------------ ---------------N:表示之前没有切换过系统的运行级别   

     ----------------------------5:表示系统的运行级别是图形化界面。

init 0-6: ----------------------工作中只有一个运行级别3

init 0:-------------------------关机

poweroff:-------------------关机

init 6:------------------------重启系统

chroot:----------------------加载光盘镜像,进入系统的根环境

进程和计划任务管理:

进程管理进程的真正执行者是线程,就是linux的任务管理器

静态查看进程:

父进程---子进程

父进程先启动---子进程再启动,是由父进程给子进程分配资源。--- 子进程运行。

结束运行:子进程-结束---父进程负责回收资源

父进程死亡子进程就会变成僵尸进程

ps:

ps -aux

查看静态进程的统计信息:

a:---------显示当前终端上的所有进行进程,包括其他用户的进程

u:---------列出进程的用户

x:---------显示所有终端的进程信息

user:-----------------进程的所有用户

PID :-----------------进程的iD号唯一 标的对应的进程名,进程ID杀进程就是杀PID号

%CPU:--------------进程占用CPU的百分比

%MEM:-------------进程占用物理内存的百分比。

VSZ:-----------------进程占用的虚拟内存量(KB)

RES:-----------------进程占用的物理内存量(kb)

tty:--------------------表示启动的终端名 ?:表示不是从终端开的进程

Stat:进程状态:

S :------休眠状态

d:------不可终止的休眠状态

r:------运行中的进程

t:-----停止状态

z:-----僵尸的进程

time:-----进程占用cpu的时间

小写的s:-------表示该进程拥有子进

<:高优先级

N:低优先级

+:前台运行的进程。

1:进程有多个线程

僵尸进程:

ps -elf(也是静态查看系统进程)

e:---------显示系统内所有进程的信息
l:---------- 长格式显示进程信息
f.- ----------完整格式显示进程信息。


PID:进程 的pid号

ppid:进程的父进程

c: 进程生命周期中CPU的使用率

PRI :表示进程的优先级

NI:谦让值,决定优先级的大小。(数值越大优先级越低)

ADDR:进程在内存中的地址

sz:进程被换出,需要

tty:表示终端的名字

ps -aux | grep "httpd"

僵尸进程:

僵户进程无法被强制结束。

僵尸进程占用的系统资源很小 对系统没有什么影响

僵尸进程太多,只能重启,全部消失

pstree:以树形结构,列出进程的信息(线程)

pstree -up 80011(进程的PID号)

-a:显示进程所有的完成整的信息

-u:查看进程的所属的用户

-p:查看进程的线程 

如何动态查看系统进程:top

第一行up:表示系统运行的时间

load  average:0.00,0.01,0.05

(0.00)1分钟 (0.01)5分钟 (0.05)15分钟 系统负载:单位时间内系统处理的任务数

第二行tasks :进程信息

total:--------------当前系统的总进程数
running----------运行中的进程
sleeping:--------休眠中的进程
stopped:---------终止的进程数
zombie:----------僵尸进程数。
 

第三行:CPU的使用情况

%Cpu(s): 0.0us, 0.0 sy, 0.0 ni,100.0id, 0.0wa, 0.0hi, 0.0si, 0.0 st
us :----------------用户进程占用CPU的大小(管理员)

sy:----------------内核进程占用CPU的大小

id :----------------空闲cpu的百分比

wa:-----------------磁盘读写性能

ni :------------------优先级调度占用CPU的大小

top(直接输top即可查看)查看动态进程id 的占用情况 再用 ps -aux查看占用cpu的占比都是高低排

第四行:内存信息 free-h 

buff:缓存

第五行:avil mem 剩余物理空间

数字键1(CPU按1):显示所有CPU的个数,和CPU的工作状态

c 键:根据cpu 使用百分百的大小进行排序

q 键退出查看

top -b -n 1:运行一次退出top 

进程信息区各列解释:
PID        进程id
USER    进程所有者的用户名
PR        优先级 --系统优先级
NI        谦让度值。负值表示高优先级,正值表示低优先级 --人为设置的优先级
VIRT    进程使用的虚拟内存总量,单位kb
RES        进程使用的物理内存大小,单位kb
SHR        共享内存大小,单位kb
S        进程状态
%CPU    上次更新到现在的CPU时间占用百分比
%MEM    进程使用的物理内存百分比
TIME+    进程使用的CPU时间总计,单位1/100秒
COMMAND    命令名/命令行

五大负载和优化查看

1cpu负载:了解系统是否过载优化高cpu 负载的进程

第一步:输入 yum -y install top

第二步:输入htop 即可查看CPU负载的进程

2内存负载:

监控内存用的 用free 或者top,优化内存,释放一些不必要的内存占用,关闭不需要的服务,释放缓存。

清除缓存的命令(发版期可以用版本更新开放):echo 1 > /proc/sys/vm/drop_caches

3:磁盘负载:监控I/O:用命令(面试会问):iostat  来监控读写性能

3网络负载:监控网络宽带

第一步:输入yum -y install iftop

第二步:输入iftop  即可查看

5进程负载:

top查看主要查看us 和CPU mem

进程管理

1:pgrep

查找进程pid号,结合命令Kil一块使用,

pgrep -a 进程名 ---------显示进程名的PID号

pgrep -a httpd  显示进程httpd的pid号

grep -c 进程名 仅显示进程的数量,其他不显示

3:Kill的工作原理(并不是执行者):杀进制,传递信号给内核,执行终止程序的命令

Kill只是个信号

Kill -9 :表示进程被终止,需要立即退出

Kill -1 重新加载进程 

Kill -15表示正常停止一个进程,告诉进程请自行停止进程

先pgrep -a +进程号 再Kill +进程号

2:jobs

列出后台进程的状态信息

:显示所有后台进程的pid号

-n:仅显示最近的后台进程

-r:仅显示正在运行的后台进程

-s:仅显示已停止的后台进程。

cp -a /mnt/ /opt/ &命令行结尾加上&就是后台运行

 

生产环境给包这两种: java  war

有些服务是依赖一些相关的运行程序包,启动时一定要后台启动 必须加&  

ctrl +z 放到后台,并且停止运行

fg : 把后天的程序调度到前台执行

3:crontab  创建计划的命令

*****分别表示 分 时 日 月 周

分---0-59

时---0-23

日---1-31

月---1-12

周---0-7

周日: ---0或者7

*:---表示范围内的任意时间

1,3,5****   表示多个不联系的时间

1-5****表示 1-5分钟都会执行

*/10**** 表示每10分钟执行一次

crontab -e创建定时任务

打开这个界面:和vim编辑器的操作-样

为指定用户创建定时任务:

crontab -e -u ky32 :为用户ky32创建定时任

Crontab -l 查看定时任务

用crontab -e 进入定时任务之后 用dd删除你要删定时任务

举例:

1:每个月第一天上午9点30分执行定时任务

30 9 1 * *

2:每年6月8日的上午12点半执行   30 12 8 6 *

3:每个月每隔10天,每天的早上6点半执行 30 6 */10 **

4:每天的25分,8点到11点,1 月6 月9月每周3执行  25 8-11 * 1,6,9 3

cat /var/spool/mail/root:查看日志的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringCloud的五大核心组件如下: 1. Eureka:服务注册与发现组件,提供了服务注册和发现的功能,可以实现服务的自动化注册和发现。 2. Feign:声明式的Web Service客户端,可以让编写Web Service客户端更加简单。 3. Ribbon:客户端负载均衡器,可以在多个服务提供者之间进行负载均衡。 4. Hystrix:容错管理工具,可以实现服务的降级、熔断、限流等功能,提高系统的可用性。 5. Zuul:网关组件,可以实现请求的路由、过滤、转发等功能,提高系统的安全性和可用性。 以下是SpringCloud五大组件的简要介绍: 1. Eureka:Eureka是Netflix开源的一款基于REST的服务治理解决方案,主要用于AWS云中定位服务,以实现中间层服务器的负载均衡和故障转移。Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册和发现功能,Eureka Client是一个Java客户端,用于简化与Eureka Server的交互。 2. Feign:Feign是一个声明式的Web Service客户端,可以让编写Web Service客户端更加简单。Feign支持多种注解,包括FeignClient、RequestMapping、PathVariable、RequestParam等,可以方便地定义和调用Web Service接口。 3. Ribbon:Ribbon是一个客户端负载均衡器,可以在多个服务提供者之间进行负载均衡。Ribbon支持多种负载均衡策略,包括轮询、随机、加权轮询、加权随机等,可以根据实际情况选择合适的负载均衡策略。 4. Hystrix:Hystrix是一个容错管理工具,可以实现服务的降级、熔断、限流等功能,提高系统的可用性。Hystrix通过线程池隔离、断路器、请求缓存等机制来实现容错管理,可以有效地防止服务雪崩效应。 5. Zuul:Zuul是一个网关组件,可以实现请求的路由、过滤、转发等功能,提高系统的安全性和可用性。Zuul支持多种路由策略,包括基于URL路径、基于服务名称、基于请求参数等,可以根据实际情况选择合适的路由策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值