51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#会的
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #16 OOM Killer的运行与结构
HACK#16 OOMKiller的运行与结构(1)本节介绍OOMKiller的运行与结构。Linux中的OutOfMemory(OOM)Killer功能作为确保内存的最终手段,可以在耗尽系统内存或交换区后,向进程发送信号,强制终止该进程。这个功能即使在无法释放内存的情况下,也能够重复进行确保内存的处理过程,防止系统停...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
OOM
Killer
运行
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap
HACK#15 ramzswap本节介绍将一部分内存作为交换设备使用的ramzswap。ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备。对要换出(swapout)的页面进行压缩后,不是写入磁盘,而是写入内存。可以使用的内存仅为完成压缩的部分。压缩处理使用的是LZO注1。ramzswap是从Lin...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
ramzswap
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #14 虚拟存储子系统的调整
HACK#14 虚拟存储子系统的调整本节介绍如何使用/proc进行虚拟存储子系统的调整。虚拟空间存储方式在Linux上向应用程序分配内存时,是通过以页面为单位的虚拟存储方式进行的。采用虚拟存储方式,在实际操作中具有不需要确保连续的物理内存(不用担心内存碎片)的优点。最近的处理器大部分都具备用于虚拟存储的处理器嵌入式TL...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
虚拟
存储
子系统
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #13 使用Block I/O控制器设置I/O优先级
HACK#13 使用BlockI/O控制器设置I/O优先级本节介绍使用BlockI/O控制器的功能设置I/O优先级的方法。BlockI/O控制器可以将任意进程分组,并对该分组设置I/O的优先级。这个功能是在Linux2.6.33时添加到Linux内核中的。例如,在前台进行一般处理的同时,在后台磁盘备份处理的情况下,如果...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
使用
Block
控制器
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #12 使用Memory Cgroup限制内存使用量
HACK#12 使用MemoryCgroup限制内存使用量MemoryCgroup是Cgroup的资源限制功能之一,可以控制特定进程可以使用的内存量。MemoryCgroupMemoryCgroup是Cgroup(参考Hack#7)之一,用来控制进程所使用的内存(LRU管理的缓存)数量。其用法有很多种,例如,可以用来避...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
使用
Memory
Cgroup
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #11cpuset
HACK#11cpuset本节介绍控制物理CPU分配的cpuset。cpuset是Linux控制组(Cgroup)之一,其功能是指定特定进程或线程所使用的CPU组。另外,除CPU以外,同样还能指定内存节点的分配。以前的内核具有CPUaffinity功能,该功能将线程分配给特定CPU。现在的内核中虽然也有affinity...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
#11cpuset
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #10 Fair Group Scheduling
HACK#10 FairGroupScheduling本节介绍Cgroup之一、管理CPU资源的FairGroupScheduling。FairGroupSchedulingFairGroupScheduling是Cgroup的资源管理之一,用来控制Linux内核的进程调度程序进行的CPU时间分配。与其他Cgroup进...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
Fair
Group
Scheduling
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #9 RT Group Scheduling 与RT Throttling
HACK#9 RTGroupScheduling与RTThrottling本节介绍对实时进程所使用的CPU时间进行限制的功能RTGroupScheduling和RTThrottling。RTGroupScheduling和RTThrottling功能是用来限制使用实时调度策略的进程的CPU时间。内核2.6.25以后的版...
代码星球
·
2020-09-22
RT
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
Group
Scheduling
精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #8 调度策略
HACK#8 调度策略本节介绍Linux的调度策略(schedulingpolicy)。Linux调度策略的类别大致可以分为TSS(TimeSharingSystem,分时系统)和实时系统这两种。一方面,一般的进程是通过分时运行的。也就是说,使用CPU的时间达到分配给进程的时间(时间片)时,就会切换到其他进程。这种分时...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
调度
策略
精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #7 Cgroup、Namespace、Linux容器
HACK#7 Cgroup、Namespace、Linux容器本节将介绍Cgroup与Namespace以及通过这两个功能实现的容器功能。CgroupCgroup(controlgroup)是将任意进程进行分组化管理的Linux内核功能。Cgroup本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O或内存的分...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
Cgroup
Namespace
Linux
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #6 使用localmodconfig缩短编译时间
HACK#6 使用localmodconfig缩短编译时间本节介绍使用makelocalmodconfig生成精简的.config文件,缩短内核编译时间的方法。为了能够应对各种各样的环境,发布版的内核包含很多内核模块。但是在某个特定机器,例如,大家自己平时使用的PC上实际用到的模块只是其中的极小一部分。重新构建内核时,...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
使用
localmodconfig
缩短
精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #5 使用checkpatch.pl检查补丁的格式
HACK#5 使用checkpatch.pl检查补丁的格式本节介绍发布前检查补丁格式的方法。Linux内核是由多个开发者进行开发的。因此,为了保持补丁评估与源代码的可读性,按照统一的规则进行编写是非常重要的。编写规则写在Linux内核源代码的Documentation/CodingStyle中。所有开发者必须先阅读规则...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
使用
checkpatch.pl
检查
精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #4 如何使用Git
HACK#4 如何使用Git本节介绍Git的使用方法。Git是Linux内核等众多OSS(OpenSourceSoftware,开源软件)开发中所使用的SCM(SourceCodeManagement,源码管理)系统。在2005年以前,在Linux内核开发中一直使用一个叫做BitKeeper的SCM。但是由于后来Bit...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
如何
使用
Git
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #3 如何编写内核模块
HACK#3 如何编写内核模块本节将介绍向Linux内核中动态添加功能的结构—内核模块的编写方法。内核模块Linux内核是单内核(monolithickernel),也就是所有的内核功能都集成在一个内核空间内。但是内核具有模块功能,可以将磁盘驱动程序、文件系统等独立的内核功能制作成模块,并动态添加到内核空间或者删除。内...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
如何
编写
内核
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #2 如何编译Linux内核
HACK#2 如何编译Linux内核本节介绍编译Linux内核的方法。当发现bug而修改源代码或者添加新功能时,就需要对内核进行重新编译,生成二进制映像文件。另外,如果想要使用发布版内核中无效的功能或者驱动程序时,或者相反地,想要删除不需要的功能从而使内核更精简、更快时,或者想使用最新版的上游内核时,也需要对内核进行编...
代码星球
·
2020-09-22
Linux内核精髓:精通Linux内核必会的75个绝技
HACK
如何
编译
Linux
首页
上一页
1
2
3
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他