- 博客(18)
- 收藏
- 关注
原创 Linux-socket详解
OSI七层模型和TCP/IP四层模型在这里就不说了。套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将IO插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。Socket是一种编程接口,使应用程序能够使用TCP/IP协议进行网络通信。应用层协议是构建在Socket和TCP/IP之上的,用于实现不同应用程序之间的通信规则。
2024-07-21 19:29:22 1042
原创 nginx-限流算法
设置一个计数器counter,其有效时间为1分钟(即每分钟计数器会被重置为0),每当一个请求过来的时候,counter就加1,如果counter的值大于100,就拦截直至下一分钟计数器被重置为0。
2024-07-14 14:22:49 172
原创 filebeat-kubernetes自动发现注册表文件不断增长
按照上面issues提到的唯一的解决方案是停止filebeat并使用一些脚本清理注册表文件。filebeat的bug。
2024-07-12 23:28:55 224
原创 filebeat-自动发现(autodiscover)
filebeat通过调用docker或k8s的api 发现容器或pod,根据获取到的信息来收集日志。
2024-07-12 23:21:23 717
原创 Linux-文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;即在存储设备上组织使用文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进 行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。文件系统种类很多,比如ext2、ext3、ext4、xfs、nfs等等。而。
2024-07-11 11:45:02 1723
原创 Linux-PAM鉴权模块
PAM全称叫作Pluggable Authentication Modules,译为可插拔验证模块。1995年起源于sun公司,PAM是一个框架,通过PAM框架提供的接口,应用程序可以不关心基层具体的实现过程,直接调用接口实现身份验证功能。PAM还有一个功能就是在用户空间就是先对用户的资源进行限制。PAM不是Linux内核的一个模块,而是一个许多Linux发行版系统的标准组件,使用这个组件为系统和应用程序提供身份验证的框架。
2024-07-11 10:31:35 867 1
原创 kubernetes-工作节点异常时pod的重新调度机制
ps:–pod-eviction-timeout在Kubernetes v1.18版本后被废弃,全部采用TaintBasedEvictions。ps:当node处于unreachable状态时同理。
2024-07-07 16:19:57 666
原创 kubernetes-多集群管理
配置kubeconfig里的user信息,并写入config-demo文件,有三种认证方式。配置对应的上下文信息,并写入config-demo文件。根据serviceaccount的token进行配置。根据ca证书生成client证书和key进行配置。根据k8s的user和password进行配置。
2024-07-07 16:18:47 299
原创 Linux-CPU上下文切换
进程即可以在用户空间运行,又可以在内核空间中运行。进程在用户空间运行时被称为进程的用户态,而通过系统调用在内核空间运行时被称为进程的内核态。从用户态到内核态的转变,需要通过系统调用来完成,比如当我们查看文件内容时,就需要多次系统调用来完成:首先调用open()打开文件,然后调用read()读取文件内容,并调用write()将内容写到标准输出,最后再调用close()关闭文件。需要指出的是,系统调用进程不会涉及进程切换,也不会涉及虚拟内存等系统资源切换。这与我们通常所说的“进程上下文切换”不同。
2024-07-07 15:42:20 1734 1
原创 Linux-平均负载
man uptime得到的解释,简单的说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。可运行状态:正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps -aux 命令看到的,STAT处于 R 状态(Running 或 Runnable)的进程。不可中断状态:正处于内核态关键流程中的进程,并且这些流程是不可打断的。
2024-07-07 15:40:16 345
原创 Linux-内存分析思路
buff/cache使用较多通过free -h发现大部分内存都被缓存占用后,可以使用vmstat或者sar观察一下缓存的变化趋势,确认缓存的使用是否还在继续增大。如果继续增大,则说明导致缓存升高的进程还在运行,那你就能用buff/cache分析工具(比如cachetop、slabtop等),分析这些缓存到底被哪里占用。buff/cache使用较少,但内存不足通过free -h发现排除缓存占用后,可以继续用pidstat或者top,定位占用内存最多的进程。找出进程后,再通过进程内存空间工具(比
2024-07-07 15:39:37 209
原创 Linux-内存回收
在使用 NUMA 架构的服务器,如果系统出现还有一半内存的时候,却发现系统频繁触发「直接内存回收」,导致了影响了系统性能,那么大概率是因为 zone_reclaim_mode 没有设置为 0 ,导致当本地内存不足的时候,只选择回收本地内存的方式,而不去使用其他 Node 的空闲内存。可以看到,回收内存的操作基本都会发生磁盘 I/O 的,如果回收内存的操作很频繁,意味着磁盘 I/O 次数会很多,这个过程势必会影响系统的性能,整个系统延时会很大。活跃和非活跃的内存页,按照类型的不同,又分别分为文件页和匿名页。
2024-07-07 15:36:10 770
原创 Linux-内存管理体系
内存回收首先考虑的是内存规整,也就是内存碎片整理,因为有可能我们不是可用内存不足了,而是内存太分散了,没法分配连续的内存。内存规整之后如果还是分配不到内存的话,就会进行页帧回收。如果页帧回收之后还没有得到足够的物理内存,内核将会使用最后一招,OOM Killer。OOM Killer会按照一定的规则选择一个进程将其杀死,然后其物理内存就被释放了。把进程占用的但是当前并不在使用的物理内存进行回收,并分配给新的进程来使用的过程就叫做换页。分页内存管理(虚拟内存管理)
2023-10-06 10:34:56 61 1
原创 filebeat-工作原理以及各种异常情况
harvester监听的还是旧文件,因为文件重命名或者移动是不会改变inode的。滚动生成的新文件拥有新的inode,通过Filebeat的input模块会被扫描到,并启动新的harvester进行监听。harvester被关闭后,删除的文件的磁盘空间才回被释放。5、filebeat启动了一个独立的registry协程负责监听日志数据发送至后端成功后返回ack的事件,接收到ack事件后会将日志文件的State状态更新至registry文件中,State中的Offset表示读取到的文件偏移量。
2023-02-03 16:34:06 3708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人