目录1. rest_init2. init 进程(kernel_init)2.1 kernel_init_freeable2.1.1 do_basic_setup2.1.2 prepare_namespace(挂载根文件系统)2.2 run_init_process start_kernel 里面调用了大量的函数,每一
在内存trace中经常遇到线程uninterruptable sleep,而打出来的trace可以看到是如下:wait_on_page_bit_killable+0xb0/0xcc __lock_page_or_retry+0xb8/0xf4 filemap_fault+0x4cc/0x630 ext4_filemap_fault+0x34/0x48 __do_fault+0x88/0x110 h
转载
2024-08-14 13:47:50
676阅读
随着 Snowpack、Vite 等利用提倡 no-bundle 的构建工具逐渐兴起,同时现代浏览器对原生 ESM 的普遍支持,Bundle-less 的概念席卷前端圈,那么我们如何理解 Bundle-less?究竟是炒概念还是能够真正地给业界带来收益?下面就来分享一下我对于 Bundle-less 的理解以及在这个方向上做过的一些探索。如何理解 Bundle-less?Bundle-less,也
eBPF学习笔记(一)—— eBPF介绍&内核编译eBPF介绍eBPF基础代码验证即时编译eBPF开发工具BCCbpftracelibbpf C/C++库eBPF Go库内核编译查看内核版本下载内核源码安装依赖项安装最新版llvm和clang配置内核编译内核BPF示例程序常见问题问题一:libbpf: map 'rx_cnt': unexpected def kind var.问题二:/
转载
2024-07-30 13:44:35
200阅读
所谓动名词,就是可以当名词用,可以当主、宾、表、定。My hobby is swimming. 我的爱好是游泳。(这里 swimming 当名词“游泳”) 所谓分词,就是动词。你要想表示这个动作是正在发生的或者主动进行的,那么就是-ing.你要想表示这个动作时已经结束的或者被动进行的,那么就是-ed. He is swimming. 他在游泳。 这里的 swimming 就是现
02.查看或配置网卡信息序号命令对应英文作用01ifconfigconfigure a network interface查看/配置计算机当前的网卡配置信息02ping ip地址ping检测到目标ip地址的连接是否正常2.1网卡和IP地址网卡网卡是一个专门负责网络通讯的硬件设备IP地址是设置在网卡上的地址信息我们可以吧电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码IP地址每台联网的电脑上
SWIOTLB概述IOMMU的核心功能就是,实现在low buffer和high buffer之间的sync,也就是内存内容的复制操作。读者可能会想,内存的复制,在内核中,不就是调用memcpy()函数来实现的吗?没错,这就是本文要介绍的IOMMU的软件实现方式——SWIOTLB。之所以说是软件实现,是因为sync操作在底层正是调用memcpy()函数,这完全是软件实现的。SWIOTLB的作用在于
转载
2024-06-06 11:12:12
348阅读
何为内核: 1、内核是操作系统最基本的部分。 2、内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础, 它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
转载
2024-03-27 23:35:58
163阅读
11.1 应用与硬件硬件的控制由Windows全权负责,实际上Windows提供了通过应用来间接控制硬件的方法,利用操作系统提供的系统调用功能就可以实现对硬件的控制,在Windows中,系统调用称为API,各API就是应用调用的函数,这些函数的实体被存储在DLL文件中 假如要在窗口中显示字符串,就可以使用Windows API中的Text Out函数 ‘设备描述的句柄’中的参数hdc,是用来指定字
缓冲区(Buffer)1. 缓冲区(Buffer):一个用于特定基本数据类 型的容器。 由 java.nio 包定义的,所有缓冲区 都是 Buffer
转载
2023-07-05 16:29:34
288阅读
循环buffer,即环形缓冲区,设有固定的大小,被定义成一个环形,新数据会覆盖旧的数据,减少内存拷贝,提高程序的性能。适用于通信上接收流式数据,然后进行分片、组包。 逻辑示意图:图1 小C自己实现的环形Buffer,“一写一读”,支持多线程且无锁设计,支持随机长度读写。测试性能:500M 数据用
转载
2023-12-01 10:47:48
110阅读
MySQL中的change bufferMySQL的一条语句,大致流程查看内存→读取磁盘数据页→返回数据。当比如查找一个 a=5的记录的时候,并不是只查找出这一条数据,它所在的整个数据页都会查找出来(每个数据页16KB)。下次查找a=6的记录的时候,发现该页已经在内存中了,直接返回,不需要磁盘IO。但是当时增、删、改操作时,并不会每一次操作都进行一次磁盘IO,使用change buff
转载
2023-10-08 07:36:46
109阅读
什么是Bufferbuufer是处理二进制字节的一种方式,常用于TCP流、文件系统操作等场景。Buffer的存储
原创
2021-04-17 09:35:46
92阅读
udp buffer不足的现象:'netstat -s' 或 'netstat -su',并根据具体平台查看 "udpInOverflowsudpInOverflows", "packet receive errors", "fragments dropped" 或 "outgoing packet drop" 信息调整方法:wmem_default 和 wmem_max
原创
2021-10-28 09:29:31
661阅读
当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel 中, 并且从 Channel 中写入到 Buffer 中。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区基础Buffer 类型有: 缓冲区是包在一
Change Buffer的作用:作用于不在缓存池中的非唯一索引页对该页进行写操作后并不会立刻将该页从磁盘中加载到缓存池,而是在change buffer中记录页的修改,等该页被读取时,再将修改的数据merger到缓存池中;以此来缓解写操作多次随机读的IO消耗;当索引中包含降序索引或者主键中包含降序索引时不会用到change buffer;当change buffer大小超过最大阈值后不会再使用c
转载
2021-02-08 10:47:49
936阅读
2评论
1 前言这节我们来看看MySQL 的 Buffer Pool哈。2 为什么要有 Buffer Pool?虽然说 MySQL 的数据是存储在磁盘里的,但是也不能每次都从磁盘里面读取数据,这样性能是极差的。要想提升查询性能,加个缓存就行了嘛。所以,当数据从磁盘中取出后,缓存到内存中,下次查询同样的数据的时候,直接从内存中读取。为此,Innodb 存储引擎设计了一个缓冲
转载
2023-07-28 10:30:59
158阅读
python中常见的文件的操作,对于文件的操作常用的就是读取以及写入了,在这里小编介绍几种常用的操作方法。Python字符串可以是二进制数据,而不是仅仅是文字。open 函数open()函数的作用是打开一个文件,并且创建一个file对象。语法:file object = open(file_name [, access_mode][, buffering])参数:file_name:file_na
转载
2023-12-23 19:31:09
88阅读
文章目录摘要为什么需要Doublewrite BufferDoublewrite Buffer原理Doublewrite Buffer相关参数总结 摘要InnoDB是MySQL中一种常用的事务性存储引擎,它具有很多优秀的特性。其中,Doublewrite Buffer是InnoDB的一个重要特性之一,本文将介绍Doublewrite Buffer的原理和应用。为什么需要Doublewrite B
转载
2023-09-28 20:31:55
106阅读
(1)StringBuffer 类对象代表一个可变的字符序列,可以对字符串内容进行增删等操作;
(2)StringBuffer 类中的很多方法与 String 类中的方法相同,但它是可变长度的;
(3)StringBuffer 类对象是一个容器。
转载
2023-07-04 07:14:05
129阅读