自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZhanBiaoChina的博客

终生学习

  • 博客(66)
  • 收藏
  • 关注

原创 Linux命令-cut

指定字节范围,可以是单个数字、范围(如 1-3)或逗号分隔的列表(如 1,3,5)。:指定字符范围,可以是单个数字、范围(如 1-3)或逗号分隔的列表(如 1,3,5)。:指定字段范围,可以是单个数字、范围(如 1-3)或逗号分隔的列表(如 1,3,5)。2.基于字符提取 (-c 或 --characters)3.基于字段提取 (-f 或 --fields)1.基于字节提取 (-b 或 --bytes)-d :指定字段分隔符(默认是制表符 \t)。-s 或 --only-delimited。

2025-04-05 16:05:50 144

原创 Linux命令-grep

directories=action 指定目录的处理方式(read、skip、recurse)(同 -d)–binary-files=type 指定二进制文件的处理方式(同 --binary-files)–line-buffered 使用行缓冲输出(同 --line-buffered)–max-count=n 最多匹配 n 次后停止(同 --max-count)–before-context[=n] 显示匹配行前的 n 行(同 -B)–null-data 将空文件视为匹配(同 --null-data)

2025-04-04 19:25:12 570

原创 linux命令-find指令

newermt “time” 查找在指定时间戳之后修改的文件。-newer file 查找比指定文件新(修改时间更近)的文件。-older file 查找比指定文件旧(修改时间更早)的文件。-ctime +n:查找在 n 天以前状态改变过的文件。-cmin +n:查找在 n 分钟以前状态改变过的文件。-ctime -n:查找在 n 天内状态改变过的文件。-cmin -n:查找在 n 分钟内状态改变过的文件。-mtime +n:查找在 n 天以前修改过的文件。

2025-04-03 22:43:56 908

原创 Linux命令-xargs

0 输入以空字符(\0)分隔,而不是换行符。输入分隔符:默认以换行符分隔输入,但如果输入包含空格或特殊字符,建议使用 -0 或 -d 指定分隔符。-P max-procs 并行执行命令,最多同时运行 max-procs 个进程。-L max-lines 每次执行命令时最多处理 max-lines 行输入。-i[replace-str] 与 -I 类似,但默认替换字符串为 {}。-J replace-str 与 -I 类似,但支持多个替换字符串。-l[max-lines] 与 -L 类似,但默认值为 1。

2025-04-03 21:59:17 382

原创 Linux命令-uniq

s 跳过每行开头的 个字符进行比较 uniq -s 5 file.txt (跳过前5字符)-f 跳过前面的 个字段进行比较 uniq -f 2 file.txt (跳过前两字段)-w 只比较每行的前 个字符 uniq -w 10 file.txt (比较前10字符)-c 显示每行的重复次数 uniq -c file.txt。-i 忽略大小写进行比较 uniq -i file.txt。-d 只显示重复的行 uniq -d file.txt。-u 只显示唯一的行 uniq -u file.txt。

2025-04-03 15:02:30 117

原创 Linux命令-sort

t 指定分隔符,默认是空格或制表符 sort -t ‘,’ -k 2 files.csv (按逗号分隔的第二列排序)-o 指定输出文件,例如 -o output.txt sort files.txt -o sorted.txt。-k 指定排序的键(列),例如 -k 2 表示按第二列排序 sort -k 2 files.txt。-s 稳定排序,当多个行的排序键相同时,保持它们的原始顺序 sort -s files.txt。-r 逆序排序(默认升序,-r 表示降序) sort -r files.txt。

2025-04-03 14:53:15 188

原创 Linux命令-rsync

rsync 是一个功能强大的文件同步和备份工具,广泛用于 Linux 系统中。-a 归档模式,等同于 -rlptgoD,用于递归同步文件和目录,并保留权限、所有者、时间戳等元数据。–delete 删除目标目录中源目录中不存在的文件。–backup-dir 指定备份文件的目录。-v 详细模式,显示同步过程中的详细信息。-u 只同步源文件中比目标文件新的文件。–include 包含指定的文件或目录。-z 压缩传输,减少网络带宽的使用。-r 递归模式,同步目录及其子目录。-D 保留设备文件和特殊文件。

2025-04-03 14:45:39 260

原创 Linux命令-top

系统负载平均值:显示过去 1 分钟、5 分钟和 15 分钟的系统负载平均值。S:进程状态(R:运行,S:睡眠,D:不可中断睡眠,Z:僵尸进程,T:停止)。KiB Buffers:用作缓冲区的内存量(单位:KiB)。KiB Cached:用作缓存的内存量(单位:KiB)。KiB Used:已使用的物理内存量(单位:KiB)。KiB Free:空闲的物理内存量(单位:KiB)。NI:进程的 nice 值,表示进程的优先级调整。VIRT:进程使用的虚拟内存总量(单位:KiB)。

2025-04-03 12:13:47 588

原创 Linux命令-iotop

d SEC, --delay=SEC 设置刷新间隔(秒),默认为 1 秒,接受非整形数据例如 1.1。-n NUM, --iter=NUM 设置刷新次数,在非交互模式下很有用,默认为无限。-u USER, --user=USER 只显示指定用户的进程的 I/O。-o, --only 仅显示实际进行 I/O 操作的进程或线程。-p PID, --pid=PID 只监视指定进程的 I/O。-P, --processes 仅显示进程,不显示所有线程。-b, --batch 非交互模式,适合记录日志。

2025-04-03 12:05:25 379

原创 Linux命令-vmstat

S 指定输出单位,可以是 K(KB)、M(MB)、G(GB)等。st:被其他虚拟机偷走的 CPU 时间(仅在虚拟化环境中)。si:从磁盘读取到内存的交换数据量(单位:KB/s)。so:从内存写入磁盘的交换数据量(单位:KB/s)。buff:用作缓冲区的内存量(单位:KB)。cache:用作缓存的内存量(单位:KB)。bi:从块设备读取的数据量(单位:块/秒)。swpd:已使用的交换空间(单位:KB)。free:空闲的物理内存量(单位:KB)。bo:写入块设备的数据量(单位:块/秒)。

2025-04-03 12:00:38 304

原创 Linux内核优化

说明:TIME_WAIT状态是TCP连接终止时的一个状态,用于确保旧的连接完全关闭。说明:启用此参数可以减少因TIME_WAIT状态连接占用的资源,适用于高并发的网络环境。作用:提高接收缓冲区的大小,可以减少因缓冲区过小导致的数据包丢失,从而提高网络吞吐量。作用:提高发送缓冲区的大小,可以减少因缓冲区过小导致的发送延迟,从而提高网络吞吐量。适用场景:适用于需要快速释放连接资源的场景,特别是在高并发的网络环境中。高值(如60):适用于内存不足的系统,避免因内存耗尽导致的系统崩溃。

2025-04-02 23:36:11 408

原创 Linux命令-tar

z:使用 gzip 压缩归档文件(生成 .tar.gz 或 .tgz 文件)。-j:使用 bzip2 压缩归档文件(生成 .tar.bz2 文件)。-J:使用 xz 压缩归档文件(生成 .tar.xz 文件)。-r:将文件或目录追加到现有归档文件中。–exclude:排除指定的文件或目录。-t:列出归档文件中的内容。-u 更新归档文件中的文件。-d 从归档文件中删除文件。-f:指定归档文件的名称。-f:指定归档文件的名称。-f 指定归档文件的名称。-c:创建新的归档文件。-d:从归档中删除文件。

2025-04-02 23:35:55 266

原创 Linux命令-inotifywait

inotifywait 可以监控文件或目录的变化,如文件创建、修改、删除等事件,并在这些事件发生时执行相应的操作。-e 或 --event:指定要监控的事件类型(如 create、delete、modify、move 等)。-r 或 --recursive:递归监控目录及其子目录。-t 或 --timeout:设置监控的超时时间(秒)。-m 或 --monitor:持续监控,而不是退出。-o 或 --outfile:将输出写入指定文件。文件路径:发生事件的文件或目录路径。delete:文件或目录被删除。

2025-04-02 21:28:17 165

原创 Pod的生命周期

调度器选择节点:调度器(Scheduler)监控Etcd中未调度的Pod,根据调度策略(如资源需求、节点亲和性、污点与容忍度等)选择最合适的节点。存储到Etcd:API Server将Pod的定义存储到Etcd中,Etcd是Kubernetes的分布式键值存储,用于存储集群状态。状态报告:kubelet定期向API Server报告Pod的状态,API Server更新Etcd中的Pod状态。节点准备:被选中的节点上的kubelet开始准备Pod的运行环境,包括挂载存储卷、准备网络等。

2025-04-01 14:30:49 291

原创 TCP、HTTP、HTTPS、DNS、Websocket的原理

递归 DNS 服务器:递归 DNS 服务器(通常是 ISP 提供的 DNS 服务器)负责向其他 DNS 服务器查询域名的 IP 地址。迭代查询:DNS 服务器在查询过程中逐步向其他 DNS 服务器查询,直到找到最终的权威 DNS 服务器。根 DNS 服务器:递归 DNS 服务器向根 DNS 服务器查询域名的顶级域名(TLD)服务器。权威 DNS 服务器:递归 DNS 服务器向 TLD 服务器查询域名的权威 DNS 服务器。递归 DNS 服务器缓存:递归 DNS 服务器会缓存查询结果,提高查询效率。

2025-04-01 13:43:14 1053

原创 Linux命令-sed指令

n:抑制默认输出,只显示匹配的行。-f:指定包含 sed 脚本的文件。i:在指定位置之前插入文本。a:在指定位置之后追加文本。g:匹配符合要求的所以关键字。-e:指定 sed 脚本。-r:启用扩展正则表达式。-i:直接修改文件内容。8.使用扩展正则表达式。

2025-03-30 21:46:36 231

原创 Linux命令-realpath指令

realpath 是一个用于获取文件或目录的绝对路径的 Linux 指令。-z:将输出的路径以 null 结尾,便于处理包含空格的路径。-m:如果文件或目录不存在,则返回其父目录的绝对路径。-s:不解析符号链接,直接返回符号链接本身的路径。-e:如果文件或目录不存在,则报错。-f:强制将符号链接解析为真实路径。1.获取当前目录下文件的绝对路径。2.处理不存在的文件路径。4.处理包含空格的路径。

2025-03-30 21:30:54 228

原创 怎样理解阻塞非阻塞与同步异步的区别?

你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果,如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了, 当然你也要偶尔过几分钟check一下老板有没有返回结果。你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下",然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。在发出之后,这个调用就直接返回了,所以没有返回结果。时,在没有得到结果之前,该。

2025-03-28 10:10:12 231

原创 nginx优化(持续更新!!!)

accept_mutex_delay指定的时间就是这些worker进程的等待时间,过了等待时间下一个worker进程便取得mutex锁,处理请求。accept_mutex参数的意义:当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态。

2025-03-27 22:27:05 265

原创 codis分布式集群

Codis 是一个分布式 Redis 解决方案,对于上层的应用来说,连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别(不支持的命令列表),上层应用可以像使用单机的 Redis一样使用, Codis 底层会处理请求的转发,不停机的数据迁移等工作,所有后边的一切事情,对于前面的客户端来说是透明的,可以简单的认为后边连接的是一个内存无限大的 Redis 服务。所以部署的时候会利用k8s的亲和力将codis-ha和dashboard部署在同一个节点上。

2025-03-27 21:36:06 771

原创 k8s的Ingress控制器安装

【代码】k8s的Ingress控制器安装。

2024-09-05 11:27:55 532 1

原创 记录k8s重启之后kubelet无法启动的问题

bootstrap-kubelet.conf这个文件的主要作用是引导 Kubelet 与控制平面节点通信,获得永久的 kubeconfig 文件和认证信息。Kubelet 接收到正式的 kubeconfig 文件(/etc/kubernetes/kubelet.conf),然后切换到该文件进行后续通信。Kubelet 启动时读取 bootstrap-kubelet.conf 文件,并使用其中的引导令牌与 API 服务器进行认证。API 服务器验证引导令牌,并为节点分配正式的认证凭据。

2024-09-05 10:04:12 1291

原创 记录k8s的pod生命周期笔记

由于一个Pod里容器存储卷是共享的,所以Init Container里产生的数据可以被主容器使用到,Init Container可以在多种K8S资源里被使用到,如Deployment、DaemonSet, StatefulSet、Job等,但都是在Pod启动时,在主容器启动前执行,做初始化工作。可以有一个或多个,如果多个按照定义的顺序依次执行,先执行初始化容器1,再执行初始化容器2等,等初始化容器执行完具体操作之后初始化容器就退出了,只有所有的初始化容器执行完后,主容器才启动。对Pod健康状态诊断。

2024-09-03 15:08:32 1247

原创 k8s探针详细学习笔记

这个配置表示在容器启动 5 秒后,每 10 秒发送一次 HTTP GET 请求到 http://:8080/ready。这个配置表示在容器启动后,每 10 秒发送一次 HTTP GET 请求到 http://:8080/health。如果启动探针失败,Kubernetes 会认为容器没有成功启动,并根据重启策略来重启容器。如果就绪探针失败,Kubernetes 会阻止将新的流量发送到该容器,但不会重启容器。如果存活探针失败,Kubernetes 会根据容器的重启策略来重启容器。

2024-08-29 23:02:55 806

原创 记录k8s证书过期的证书更新

1.证书列表:列出了 Kubernetes 集群中使用的各种证书,包括管理员证书 (admin.conf)、API 服务器证书 (apiserver)、与 etcd 通信的证书 (apiserver-etcd-client)、kubelet 与 API 服务器通信的证书 (apiserver-kubelet-client) 等。3.剩余时间:显示了每个证书的剩余有效期,但这里显示为 ,这可能意味着证书已经过期,或者在检查时遇到了问题。4.证书颁发机构 (CA):显示了哪个 CA 签名了该证书。

2024-08-28 11:33:53 841

原创 sed命令笔记

如果第二个地址是 REGEXP,则检查结束匹配将从_following_ 与第一个地址匹配的行开始:一个范围将始终跨越至少两行(当然,除非输入流结束)。这个地址范围按如下方法匹配:从第NUMBER(>=1)行开始(包括此行),持续到从第NUMBER行的下一行开始第一个匹配REGEXP的行(包括此行)。匹配前面正则表达式的零次或多次,该正则表达式必须是普通字符,以"“开头的特殊字符、”."、分组正则表达式或括号表达式。如果第二个地址是小于(等于)第一个地址的匹配的行,那么仅只会匹配第一个地址。

2024-08-12 18:58:35 529

原创 Linux网络性能常用工具指标

第三条和第四条,是 ICMP echo request 和 ICMP echo reply,响应包的时间戳 14:02:31.539667,减去请求包的时间戳 14:02:31.508164 ,就可以得到,这次 ICMP 所用时间为 30ms。再往下看,最后的四个包,则是两次正常的 ICMP 请求和响应,根据时间戳计算其延迟,也是 30ms。所以,在你使用 ping 时,如果发现结果中的延迟并不大,而 ping 命令本身却很慢,不要慌,有可能是背后的 PTR 在搞鬼。第二,MTU 的大小。

2024-07-03 10:34:04 914

原创 Linux文件系统和磁盘的 I/O 常用性能工具指标详解

它会对文件系统的 I/O 请求进行排队,再通过重新排序和请求合并,然后才要发送给下一级的设备层。它能够提供关于 CPU、内存、磁盘 I/O、网络等各方面的统计信息,以帮助用户追踪系统的健康状况。filetop 输出了 8 列内容,分别是线程 ID、线程命令行、读写次数、读写的大小(单位 KB)、文件类型以及读写的文件名称。前两行分别表示,进程的磁盘读写大小总数和磁盘真实的读写大小总数。块 I/O 延迟(iodelay),包括等待同步块 I/O 和换入块 I/O 结束的时间,单位是时钟周期。

2024-02-02 14:41:15 1625

原创 Linux内存常用命令指标详解

这样,内核就可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。具体到每一个指标,这里的 HITS、MISSES 和 DIRTIES ,跟 cachestat 里的含义一样,分别代表间隔时间内的缓存命中次数、未命中次数以及新增到缓存中的脏页数。第二,共享内存 SHR 并不一定是共享的,比方说,程序的代码段、非共享的动态链接库,也都算在 SHR 里。减少内存的动态分配。kswapd0 定期扫描内存的使用情况,并根据剩余内存落在这三个阈值的空间位置,进行内存的回收操作。

2024-01-31 08:38:53 1536 1

原创 LINUX平均负载

通过这种方式,你可以判断平均负载是否超过了系统的CPU核心数,以确定系统的负载状况。如果平均负载的值大于CPU核心数,那么系统的负载超过了CPU核心数,表示系统的运行队列中的进程数多于可用的CPU核心数,可能存在过载的情况。如果 L <= N,那么平均负载没有超过CPU核心数,表示系统负载相对较低。如果 L > N,那么平均负载超过了CPU核心数,表示系统负载较高。比较L和N的值:30 > 8,因此平均负载超过了CPU核心数。平均负载 = 平均活跃进程数 / CPU核心数。查看CPU核心数命令。

2023-07-12 16:06:58 1037

原创 nginx底层原理学习笔记

如果使用传统的阻塞 I/O 模型,每个连接都需要一个单独的线程进行处理,这样会带来大量的线程开销和上下文切换。它的主要思想是:在一个线程中同时监视多个I/O(文件描述符)流,当其中任意一个I/O流有事件发生时,操作系统会通知该线程,线程就可以进行相应的处理,这样就避免了多线程中频繁的上下文切换,提高了程序的效率。异步非阻塞 I/O 是一种处理 I/O 操作的方式,它的主要思想是:在等待 I/O 操作完成的同时,让程序继续执行其他任务,而不是像传统的阻塞 I/O 一样等待 I/O 操作完成后再继续执行程序。

2023-03-10 14:36:46 373

原创 Elasticsearch单节点安装

Elasticsearch是一个开源的搜索引擎,建立在全文搜索引擎Apache Lucene基础上。Elasticsearch使用Java编写,内部使用Lucene做索引与搜索,目的是使全文检索变得简单,通过隐藏Lucene的复杂性,提高一套简单一致的RESTful API。Elasticsearch准确定位:1.一个分布式的实时文档存储,每个字段可以被索引与搜索2.一个分布式实时分析搜索引擎3.能做上百个服务节点的扩展,支持PB级别的结构化或者非结构化数据Elasticsearch安装:1.

2022-01-16 09:03:05 1136

原创 redis压力测试工具redis-benchmark

因为在业务上线的时候需要对节点进行模拟并发的压力性能测试。本文将使用redis自带的测试工具来对redis节点进行压力测试性能分析。1.redis-benchmark压力测试工具:redis-benchmark是官方自带的Redis性能测试工具,可以有效地测试Redis服务的性能。该工具的常用选项:Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>]

2021-05-26 21:59:32 1033 1

原创 jenkins报错SSH: Current build result is [NOT_BUILT], not going to run.

jenkins在构建maven项目后,进行SSH远程推送的时候报错:SSH: Current build result is [NOT_BUILT], not going to run.解决方法:1.确认是否安装了Fail The Build Plugin插件,没有则需要先安装下插件.该插件用于设置或更改构建状态,测试jenkins配置的行为.2.在jenkins工程配置“Pre Steps”选项添加"set then build result".这一步是将构建好的maven项目状态结果从N

2021-04-29 14:37:01 5648 8

原创 Prometheus运维十三 Prometheus服务发现

海阔凭鱼跃,天高任鸟飞

2021-01-07 15:33:39 1791 3

原创 Prometheus运维十二 Prometheus存储与高可用集群

海阔凭鱼跃,天高任鸟飞

2021-01-06 15:10:02 4023 2

原创 Prometheus运维 监控Tomcat

文章目录1.安装部署1.1 安装Prometheus1.2 安装Tomcat2.配置JMX Exporter2.1 下载安装JMX Exporter文件2.2 收集Tomcat数据2.3 集成Prometheus3.Tomcat关注指标4.集成Grafana1.安装部署1.1 安装Prometheus部署Prometheus请点击此链接:https://blog.youkuaiyun.com/ZhanBiaoChina/article/details/1070241151.2 安装Tomcat1.安装Tomc

2021-01-04 17:52:48 3388 1

原创 Prometheus运维十一 监控Redis

帮助文档:http://www.eryajf.net/2497.htmlprometheus监控redis需要用到redis_exporter。redis_exporter 项目地址:https://github.com/oliver006/redis_exporter

2021-01-03 21:37:01 4763 2

原创 Prometheus运维十 监控MySQL

帮助文档:http://www.eryajf.net/2499.htmlprometheus监控MySQL需要用到mysql_exporter。mysql_exporter 项目地址:https://github.com/prometheus/mysqld_exporter

2021-01-03 16:18:58 992

原创 Prometheus运维九 监控nginx服务

如鲸向海,似鸟投林

2021-01-02 21:50:57 657

空空如也

空空如也

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

TA关注的人

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