阿弥陀佛
发布时间:2012-12-27 10:08:41
有些时候大家可能觉得Linux系统刚刚启动的时候没什么操作,为什么这么耗内存。最最常见的回答就是Linux会将很多的东西cache到内存当中。这么说是笼统的。 linux的cache有很多种,linux之所以这么消耗内存,主要是内核的设计即使如此。 我总结了一下,主要有两个大类: 1.slab会先从内存当中申请一些内存,以备内核申请一个核心数据结构的时候能够快速得到满足,提高内核申请一些关键数据结构的效率。 2.page cache,将常常需要访问的文件及数据块c......【阅读全文】
发布时间:2012-12-25 19:17:14
当写buffer的操作完成之后,在dbuf_dirty函数当中,会创建一个dr,dr所属的txg 为 open txg 的 txg id。然后 他会插入到dnode的dn_dirty_records当中。为了以后同步的时候使用,所以 根据txgoff=txg & TXG_MASK,算出相应的txgoff,然后插入进去。当open txg 变成 sync txg的时候,sync thread会调用函数spa_sync ,大范围内的进行同步操作。spa_sync(spa,txg)点击(此处)折叠或打开list_insert_tail(&dn->dn_dirty_records......【阅读全文】
发布时间:2012-12-25 18:31:24
不多说,见如下文件。 点击(此处)折叠或打开 backtrace.c: #include <execinfo.h> #include <stdio.h> #include <stdlib.h> #define BT_MAX_TRACE 100 void print_trace (void) { void *array[BT_MAX_TRACE]; size_t size; &......【阅读全文】
发布时间:2012-12-22 14:16:59
我现在对脏记录有一些疑问,始终不明白,在zfs中的bio请求传达之前,zfs调用dbuf_will_dirty,在dbuf_will_dirty函数当中,会调用dbuf_dirty,在dbuf_dirty函数当中会产生一个dirty record记录,这个记录会放到db->dirty_records链表当中。此时写操作还没有开始,这个脏记录有什么作用呢?......【阅读全文】
发布时间:2012-12-21 22:55:56
在virtualbox中,我们可以模拟在工作中常用的“多屏幕显示”功能,virtualbox最多支持8台虚拟显示器。一般情况下,我们的工作环境都是一台主机箱配合一台显示器工作,可是一些做股票经济或者图形设计的朋友同时关注的信息会比较多,所以一般都会采用在一台主机箱的主板内插入两块显卡控制至多4块显示器且同时显示不同的内容。此功能类似于AMD公司的Eyefinity技术。 【实验四】虚拟机也玩多屏显示 第一步:我们打开“virtualbox manager”,在虚拟机列表框中选择win7这台VM,然后点击工具栏的【setting】按钮,选择【display】......【阅读全文】