自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 某个应用的CPU使用率居然达到100%,我该怎么办?

摘至。

2024-10-08 09:05:09 1705 1

原创 理解CPU上下文切换-下

摘录源来于。

2024-09-27 08:39:12 394

原创 理解CPU上下文切换-上

总结一下,不管是哪种场景导致的上下文切换,你都应该知道:CPU 上下文切换,是保证 Linux 系统正常工作的核心功能之一,一般情况下不需要我们特别关注。但过多的上下文切换,会把CPU时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,从而缩短进程真正运行的时间,导致系统的整体性能大幅下降。

2024-09-27 08:38:51 936

原创 平均负载案例分析

摘录源来于下面的案例都是基于 Ubuntu 18.04,当然,同样适用于其他 Linux 系统。我使用的案例环境如下所示。机器配置:2 CPU,8GB 内存。预先安装 stress 和 sysstat 包,如 apt install stress sysstat。在这里,我先简单介绍一下 stress 和 sysstat。stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。而 sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。

2024-09-26 13:21:46 876

原创 如何理解“平均负载”

注:参考宝藏网站。

2024-09-26 11:26:34 895

原创 redhat7.9下tmux 3.4安装以及自定义配置

cd ~#附件也有这个.tmux目录。

2024-09-05 15:43:19 176

原创 Zellij安装以及配置

将zellij添加到环境变量中。

2024-09-03 10:25:14 537

原创 redhat7.9安装zsh以及常用插件

然后再退出下终端,重新登录用echo $SHELL 查看环境是否是/bin/zsh。

2024-08-29 10:44:21 344

原创 ubuntu 18.04 版本永久修改DNS

这时候才恍然大悟,原来我们修改的/etc/systemd/resolved.conf配置文件是在这里生效的,那我们能不能把这个/etc/resolv.conf文件与/run/systemd/resolve/resolv.conf产生关系呢,答案是可以的,我们只用重新生成个链接文件就好了。需求:在最近的一次项目中有个ubuntu 18.04 版本,我们在修改/etc/resolv.conf后,系统重启 DNS未保存,DNS服务器是:10.1.11.155,用于解析www.test.com域名。

2024-08-23 16:04:22 1097

原创 欧拉内核热升级

欧拉系统的内核源码在镜像中\openEuler-203-LTS-SP1-x86_64-dvd\Packages\kernel-source-5.10.0-136.12.0.86.oe2203sp1.x86_64的这个rpm包内,我们解压这个rpm包后会进入这个目录。从官方源码发现在openEuler-22.03-LTS-SP2版本已经修复了bug,我们下载openEuler-22.03-LTS-SP2版本的内核版本即可(找到本次我们需要修复的源码bug。最后uname -r查看升级成功。

2024-08-21 10:42:02 828

原创 linux中Systemd Unit文件编写

简单说,Target 就是一个 Unit 组,包含许多相关的 Unit。启动某个 Target 的时候,Systemd 就会启动里面所有的 Unit。因此,在三个目录中有同名文件的时候,只有优先级最高的目录里的那个文件会被使用。Unit 是 Systemd 管理系统资源的基本单元,可以认为每个系统资源就是一个 Unit,并使用一个 Unit 文件定义。Target 是 Systemd 中用于指定系统资源启动组的方式,相当于 SysV-init 中的运行级别。目录下的Unit文件来管理服务和资源。

2024-08-20 10:47:17 713

原创 通过systemd和rsync来实现:A目录和B目录文件同步

2.2 创建sync-files-test.path与sync-files-test.service文件。我们需要实现/home/root/tmp/A 和/home/root/tmp/B的文件同步。2.3 启动sync-files-test.path服务,开启监控。2.1 创建测试目录。

2024-08-20 10:02:39 217

原创 centos7升级内核至5.4版本

【代码】centos7升级内核至5.4版本。

2024-08-14 15:10:17 397

原创 linux下fio测试并将结果导出成csv

【代码】linux下fio测试并将结果导出成csv。

2024-08-14 14:37:36 328

原创 redhat未注册无法使用yum或者使用阿里源报错

这样修改完成后yum makecache还会报错,会自动生成redhat.repo这个文件,我们需要再/etc/yum/pluginconf.d/subscription-manager.conf配置文件进行修改。解决思路:卸载yum重装。

2024-08-09 10:44:53 303

原创 linux中/etc/crontab与/var/spool/cron/crontabs/的区别

包含的是每个用户的个人定时任务。两者都服务于定时任务的管理,但一个是全局性的,另一个是用户特定的。定义的是系统级别的定时任务,由所有用户共享,而。

2024-08-01 13:38:39 431

原创 linux系统终端命令提示符设置(PS1)

个人使用:export PS1="\[\e[32;1m\]\$ \[\e[0m\]"我们可以通过颜色代码来修饰上述这些组件,颜色代码的格式为\[\e[F;Bm\],其中F表示字体的颜色,编号3037,B表示背景的颜色,编号4047。

2024-07-31 10:43:51 333

原创 linux登录自动检查脚本

需求:每次登录linux,都检查下系统的一些信息以及cpu和内存。

2024-07-29 15:01:57 219

原创 redhat7系统安装完成后需要完成的设置,附带脚本

4.禁止root用户登录,以及修改ssh端口。2.创建普通用户,并添加sudo权限。1.检查selinux是否关闭。

2024-07-19 10:17:13 165

原创 ELK 8.14版本搭建

基于倒排索引,优点是根据词条搜索、模糊搜索时,速度非常快,缺点是只能给指定词条创建索引,而不是字段,无法根据字段做排序,关于正向索引和倒排索引会在后面再说明。一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能。然后用./bin/logstash -f config/logstash.conf启动即可。

2024-07-18 13:24:19 748

原创 keepalived+haproxy实现nginx高可用

拷贝配置文件:cp examples/option-http_proxy.cfg /opt/haproxy/haproxy.cfg。我们可以在上一章的keepalived+nginx的基础上,在补充haproxy的方式实现高可用负载均衡架构。添加开机自启动:chmod +x /etc/rc.d/init.d/haproxy。创建日志目录:mkdir /opt/haproxy/logs。该方案的缺点是资源使用率不高,只能在吞吐量不高的场景使用。现在我们在前一阶段,添加Haproxy,实现双主负载均衡。

2024-07-17 11:19:39 795

原创 shell脚本-linux如何在脚本中远程到一台linux机器并执行命令

需求:我们需要从11.0.1.17远程到11.0.1.16上执行命令。1.让11.0.1.17 可以免密登录到11.0.1.16。2.在脚本中实现我们想要的功能。

2024-07-15 09:39:13 662

原创 keepalived+nginx实现高可用

如果我们有个网站,最开始只有一台服务器对用户提供服务,业务架构图如下:当业务量增大时,这台服务器支撑不了那么大的流量,随时会出现宕机的风险,于是优化为分布式架构,并使用了nginx做负载均衡:有了分布式架构+负载均衡,你的业务可用性越来越强,能承受住很高的流量,但是题出现了:所有流量都打在nginx代理上,你的nginx容易出现性能瓶颈,突然有一天,你的nginx撑不了那么大的流量,出现了宕机故障,那么用户发起的所有请求都到不了你的后端web服务器上,于是又优化为nginx做成分布式。

2024-07-12 09:29:43 995

原创 cp -f 无法强制负载,还是得输入yes,如何解决?

今天在写脚本的时候,cp -rf 这个选项失败,后来去看了下cp命令参数。感觉有点不对劲,然后再网上查了下,才知道cp命令被系统设置了别名,相当于。3.yes配合管道符来实现。1.使用原生的cp命令。2.取消cp命令别名。

2024-07-10 09:36:34 313

原创 redhat7.x 升级openssh至openssh-9.8p1

配置安装:cd openssh-9.8p1 && ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl/ --with-zlib=/usr/local/zlib。安装配置:cd openssl-1.1.1v && ./config --prefix=/usr/local/openssl -d shared。OS系统:redhat 7.4。

2024-07-04 11:05:41 2153

原创 shell实用脚本5

2.屏蔽每分钟SSH尝试登录超过10次的IP。1.屏蔽每分钟访问超过200的IP。自动屏蔽访问网站频繁的IP。

2024-07-01 14:20:50 155

原创 intel vroc 安装redhat7.9

6.系统安装完成后重启进入系统,按e,在出现下面在linuxefi行末尾输入 inicll_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。1.先将系统镜像和驱动文件 iavmd-1.0.0.1467-rhel_79-dud.iso 挂载在机器上,我们也可以用2个U盘分别作为系统启动盘和VROC驱动镜像。2.首先我们需要查看bios中vroc的版本和nvme硬盘以及支持redhat7.9的vroc驱动版本。我们bios中的vroc版本为7.5。8.执行grub2命令。

2024-07-01 10:27:39 556

原创 shell实战脚本4

3.如果启动成功,则等待1分钟再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件并退出检测。1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启apache服务,并检查服务是否重启成功。2.若未成功启动则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测。

2024-06-28 08:51:56 252

原创 shell实战脚本3

我们服务器环境是lnmp,近期访问经常出现502的现象,在重启php-fpm服务后消失,因此需要编写一个监控脚本,一旦出现502,并且数量达到阈值,便自动重启php-fpm服务。

2024-06-28 08:51:18 108

原创 shell实用脚本2

需求:定期清理文件内容,在0点和12点清空日志文件,其他时间记录文件大小。

2024-06-27 11:24:03 129

原创 shell实用脚本1

有两台服务器,a服务器的IP为11.0.1.18,b服务器的IP为11.0.1.12,都有个目录/app/tmp/test,我们需要比较这个目录里面的文件的一致性。参考公众号民工哥技术之路。

2024-06-27 10:53:36 374

原创 linux中Sticky粘滞位

只能作用在目录上.普通文件设置无意义,且会被linux内核忽略,用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限。目的:我希望在系统中创建一个很多用户可以共同使用的目录,但是要求用户之间不能互相删除改变对方的文件.普通用户在设定了Sticky位的目录下创建的子目录不会继承这个Sticky权限,所以要注意设定好自己目录的权限.这时候有个问题,就是目录中的任何用户都可以随意删除其他人的文件.设定完毕可见目录tmp的other权限中的x位已经显示为t.说明已设定成功.

2024-06-26 10:25:13 961

原创 shell中获取随机数与随机字符串的方式

获取随机数:date +%N%s获取随机字符串:date +%N%s|md5sum|cut -c1-10|tr '0-9' 'a-z'注:date +%N 获得当前时间的纳秒数据,精确到亿分之一秒,在多核CPU大量循环里面,也可能有相同随机数碰撞date +%s 获得时间戳,当前到:1970-01-01 00:00:00 相隔的秒数,在做循环任务时,多线程同时执行不能满足要求所以我们用date +%N%s。

2024-06-26 09:54:06 402

原创 getopts使用方法

每当执行循环是,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,否则不是合法选项。遇到"x:",带参数的选项,optarg=argv[optind+1],optind+=2;$optind 总是存储原始$*中下一个要处理的选项(不是参数,而是选项,此处指的是a,b,c这三个选项,而不是那些数字,当然数字也是会占有位置的)位置。第二行,optind初值为1,选项-a的参数为11,下一个要处理的选项-b位置为3,所以输出:11 3;getopts的使用。

2024-06-24 13:23:55 372

原创 shell字符串截取

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符。假设有变量 var=http://www.aaa.com/123.htm.注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符。%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符。%/* 表示从右边开始,删除第一个 / 号及右边的字符。结果是:http://www.aaa.com。

2024-06-24 10:13:49 640

原创 Nginx日志管理之日志归档配置

Nginx 日志存储为文件时,同一 access_log 指令设置的日志文件是以单文件形式存储的,在日常使用中为方便维护,通常需要将日志文件按日期进行归档。虽然 Nginx 本身并没有这一功能,但实现日志归档的方法仍有很多,此处推荐使用 Logrotate 实现日志归档管理。Logrotate 是 CentOS 操作系统内置日志管理工具,该工具可对系统中生成的大量日志文件进行归档管理,其允许对日志文件实行压缩、删除或邮寄等操作。

2024-06-21 09:55:06 781

原创 Nginx日志管理之错误日志配置

Nginx 的错误日志可以帮助用户及时判断 Nginx 配置及运行时出错的原因,错误日志也可以通过 Nginx 内置指令进行配置,但不支持格式定义。配置指令如下表所示。指令值中第二个参数是输出日志的级别,指定的级别将包含自身及级别值比其小的所有级别日志,日志内容会保存到第一个参数设定的输出位置。

2024-06-21 09:52:38 582

原创 Nginx日志管理之访问日志配置

Nginx 的访问日志主要记录用户客户端的请求信息(见下表)。用户的每次请求都会记录在访问日志中,access_log 指令可以设置日志的输出方式及引用的日志格式。Nginx 的 TCP/UDP 的日志处理是在连接处理阶段结束时才发生,所以 TCP/UDP 代理的访问日志只在连接关闭时才被记录。Nginx TCP/UDP 的访问日志的变量与 HTTP 的访问日志的变量是不同的,TCP/UDP 常见日志变量如下表所示。

2024-06-21 08:31:25 932

原创 Nginx日志管理之日志分析

Nginx 通常被置于服务器访问的入口,其访问日志可以全局记录用户访问的来源、响应时间,以及用户行为热点等数据,通过对访问日志的分析,可以清晰地了解用户来源、用户行为习惯及自身服务器性能等情况。借助 ELK 的高性能处理能力,可以实时地将数据分析结果展现给服务器的维护人员及应用的开发人员,进而不断提高业务的可用性及产品的用户体验。Nginx 的日志分析可以分为安全分析、性能分析、可用性分析及访问统计分析 4 个方面。

2024-06-21 08:31:07 699

原创 Nginx负载均衡之反向代理缓存服务器配置

Nginx 的重点缓存应用是在反向代理缓存的应用场景,官方也一直在不断地增强该功能。Nginx 代理功能根据应用方式的不同分为正向代理和反向代理,Nginx 开源版本的正向代理功能并不完整,不支持 HTTP 的 CONNECT 方法,所以 HTTPS 的正向代理功能通常是使用第三方模块来实现的。Nginx 的 HTTPS 正向代理使用最多的第三方模块是 ngx_http_proxy_connect_module,但其不支持缓存,所以开源版本 Nginx 无法在正向代理缓存的使用场景中应用。

2024-06-20 09:11:07 602

redhat7系统安装完成后需要完成的设置,附带脚本

redhat7系统安装完成后需要完成的设置,附带脚本

2024-09-13

redhat7.9下tmux 3.4安装以及自定义配置

redhat7.9下tmux 3.4安装以及自定义配置

2024-09-05

redhat7.9下tmux的安装以及自定义配置

redhat7.9下tmux的安装以及自定义配置

2024-09-04

redhat未注册无法使用yum或者使用阿里源报错

redhat未注册无法使用yum或者使用阿里源报错

2024-08-09

redhat7系统安装完成后需要完成的设置,附带脚本

redhat7系统安装完成后需要完成的设置,附带脚本

2024-07-19

keepalived+nginx实现高可用

keepalived+nginx实现高可用

2024-07-17

redhat7.x 升级openssh至openssh-9.8p1

openssh9.8P1升级脚本以及离线安装包

2024-07-10

redhat7.x 升级openssh至openssh-9.8p1

openssh9.8P1升级脚本以及离线安装包

2024-07-10

redhat7.x 升级openssh至openssh-9.8p1

openssh9.8P1升级脚本以及离线安装包

2024-07-09

intel vroc 安装redhat7.9

intel vroc 安装redhat7.9

2024-07-01

K8S中Prometheus+Grafana监控

K8S中Prometheus+Grafana监控

2024-05-23

Centos7.9环境下使用clonezilla备份恢复os

Centos7.9环境下使用clonezilla备份恢复os

2024-04-18

centos7 在系统盘做软raid1

centos7 在系统盘做软raid1

2023-11-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除