linux系统开发
文章平均质量分 76
linux
kwdecsdn
为国产的操作系统添砖加瓦
展开
-
脏页刷新机制总结
一句话解释:Page Cache用于缓存文件的页数据,Buffer Cache用于缓存块设备(磁盘)的块数据。但由于磁盘都是由文件系统管理的,所以会导致数据会被缓存两次,因此现在Linux已经不再使用Buffer Cache。原创 2023-11-24 14:16:12 · 1032 阅读 · 0 评论 -
hung task机制
其实进程长期处于D状态肯定是不正常的,内核中设计D状态的目的是为了让进程等待IO完成,正常情况下IO应该会顺利完成,然后唤醒相应的D状态进程,即使在异常情况下(比如磁盘离或损坏、磁阵链路断开等),IO处理也是有超时机制的,原理上不会存在永久处于D状态的进程。长期以来,处于D状态(TASK_UNINTERRUPTIBLE状态)的进程都是让人比较烦恼的问题,处于D状态的进程不能接收信号,kill不掉。在一些场景下,常见到进程长期处于D状态,用户对此无能为力,也不知道原因,只能重启恢复。转载 2023-08-15 16:07:19 · 100 阅读 · 0 评论 -
Linux的内存回收理解
swapd回收shrink的流程是针对与inode还是zone的?回收内存时的调用栈怎么区分page和slab的?原创 2023-08-21 21:34:52 · 131 阅读 · 0 评论 -
利用mmap实现用户空间与内存空间的共享内存通信
利用mmap实现用户空间与内存空间的共享内存通信原创 2022-10-18 14:48:03 · 1135 阅读 · 0 评论 -
linux 的swap、swappiness及kswapd原理【转+自己理解】
我们一般所说的swap,指的是一个交换分区或文件。从功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现。所以,当内存使用存在压力,开始触发内存回收的行为时,就可能会使用swap空间。内核对swap的使用实际上是跟内存回收行为紧密结合的。为什么要进行内存回收?哪些内存可能会被回收呢?回收的过程中什么时候会进行交换呢?具体怎么交换?下面我们就从这些问题出发,一个一个进行分析。为什么要进行内存回收?原创 2023-08-17 21:00:11 · 385 阅读 · 0 评论 -
Linux内存管理:memblock
Linux内存管理:memblock原创 2022-11-03 11:50:08 · 658 阅读 · 0 评论 -
CPU Cache汇总
CPU Cache汇总原创 2022-10-31 19:17:24 · 1648 阅读 · 0 评论 -
内核态常见的异常
内核常见异常原创 2022-09-15 23:41:03 · 149 阅读 · 0 评论 -
内存脏页参数介绍
1、参数介绍:[root@ecs-262232 ~]# sysctl -a| grep dirtyvm.dirty_background_bytes = 0vm.dirty_background_ratio = 10vm.dirty_bytes = 0vm.dirty_ratio = 30vm.dirty_expire_centisecs = 3000vm.dirty_writeback_centisecs = 500vm.dirty_background_ratio...原创 2022-04-02 17:33:35 · 662 阅读 · 0 评论