upload/duxiu_main2/【星空藏书馆】/【星空藏书馆】等多个文件/图书三区/分类书库/02.精选书籍/精排版(出版图书+各类小说资源)mobi+epub+pdf/6寸PDF格式电子书(39.1GB)/出版图书(6寸PDF格式 21GB)/extracted__【音频脑电波】1学习 计算机技术.rar/1学习 计算机技术/Linux内核精髓-高桥 浩和.pdf
Linux内核精髓:精通Linux内核必会的75个绝技 (O'Reilly精品图书系列) 🔍
(日)高桥 浩和 [浩和, 高桥]
北京:机械工业出版社, 2012
中文 [zh] · PDF · 11.2MB · 2012 · 📘 非小说类图书 · 🚀/duxiu/lgli/upload/zlib · Save
描述
本书选取了资源管理(CPU, 内存, 进程等), 文件系统, 网络, 虚拟化, 省电, 调试, 概要分析, 追踪, 内核调整等Linux内核的核心主题进行了深入剖析和讲解, 总结出了75个能有助于读者深刻理解Linux内核精髓的技巧和最佳实践
备用文件名
upload/duxiu_main/x/rar/1学习 计算机技术/Linux内核精髓-高桥 浩和/Linux内核精髓-高桥 浩和.pdf
备用文件名
upload/duxiu_main/v/pdf/Linux内核精髓-高桥 浩和.pdf
备用文件名
lgli/(日)高桥 浩和 [浩和, 高桥] - Linux内核精髓:精通Linux内核必会的75个绝技 (O’Reilly精品图书系列) (2012, 机械工业出版社).pdf
备用文件名
zlib/Computers/Operating Systems/(日)高桥 浩和 [浩和, 高桥]/Linux内核精髓:精通Linux内核必会的75个绝技 (O’Reilly精品图书系列)_16526089.pdf
备选标题
Linux内核精髓 : 精通Linux内核必会的75个绝技 高桥浩和主编 ; 池田宗广[等]著 ; 杨婷译
备选作者
高桥浩和主编;池田宗广[等]著;杨婷译; 高桥浩和; 池田宗广; 杨婷
备选作者
高桥浩和主编 ; 池田宗广[等]著; 高桥浩和; 池田宗广; 杨婷
备选作者
(日)高桥浩和等著
备用出版商
Hachette jeunesse - Disney
备用出版商
Hachette collections
备用出版商
China Machine Press
备用出版商
Pluriel
备用版本
China, People's Republic, China
备用版本
Di 1 ban, Beijing, 2013
备用版本
Bei jing, 2013
备用版本
France, France
元数据中的注释
producers:
calibre 2.36.0 [http://calibre-ebook.com]
calibre 2.36.0 [http://calibre-ebook.com]
元数据中的注释
Bookmarks: p1 (p1): 第1章 内核入门
p1-1 (p1): HACK #1如何获取Linux内核
p1-2 (p7): HACK #2如何编译Linux内核
p1-3 (p18): HACK #3如何编写内核模块
p1-4 (p22): HACK #4如何使用Git
p1-5 (p41): HACK #5使用checkpatch.pl检查补丁的格式
p1-6 (p44): HACK #6使用localmodconfig缩短编译时间
p2 (p47): 第2章 资源管理
p2-1 (p47): HACK #7 Cgroup、 Namespace、 Linux容器
p2-2 (p55): HACK #8调度策略
p2-3 (p59): HACK #9 RT Group Scheduling与RTThrottling
p2-4 (p62): HACK #10 Fair Group Scheduling
p2-5 (p65): HACK #11 cpuset
p2-6 (p68): HACK #12使用Memory Cgroup限制内存使用量
p2-7 (p74): HACK #13使用Block I/O控制器设置I/O优先级
p2-8 (p80): HACK #14虚拟存储子系统的调整
p2-9 (p85): HACK #15 ramzswap
p2-10 (p91): HACK #16 OOM Killer的运行与结构
p3 (p98): 第3章 文件系统
p3-1 (p98): HACK #17如何使用ext4
p3-2 (p101): HACK #18向ext4转换
p3-3 (p104): HACK #19 ext4的调整
p3-4 (p111): HACK #20使用fio进行I/O的基准测试
p3-5 (p118): HACK #21 FUSE
p4 (p121): 第4章 网络
p4-1 (p121): HACK #22如何控制网络的带宽
p4-2 (p126): HACK #23TUN/TAP设备
p4-3 (p129): HACK #24网桥设备
p4-4 (p133): HACK #25 VLAN
p4-5 (p136): HACK #26 bonding驱动程序
p4-6 (p141): HACK #27 Network Drop Monitor
p5 (p147): 第5章 虚拟化
p5-1 (p147): HACK #28如何使用Xen
p5-2 (p153): HACK #29如何使用KVM
p5-3 (p159): HACK #30如何不使用DVD安装操作系统
p5-4 (p161): HACK #31更改虚拟CPU分配方法,提高性能
p5-5 (p166): HACK #32如何使用EPT提高客户端操作系统的性能
p5-6 (p173): HACK #33使用IOMMU提高客户端操作系统运行速度
p5-7 (p183): HACK #34使用IOMMU+SR-IOV提高客户端操作系统速度
p5-8 (p187): HACK #35 SR-IOV带宽控制
p5-9 (p189): HACK #36使用KSM节约内存
p5-10 (p194): HACK #37如何挂载客户端操作系统的磁盘
p5-11 (p200): HACK #38从客户端操作系统识别虚拟机环境
p5-12 (p205): HACK #39如何调试客户端操作系统
p6 (p213): 第6章 省电
p6-1 (p213): HACK #40 ACPI
p6-2 (p224): HACK #41使用ACPI的S状态
p6-3 (p226): HACK #42使用CPU省电(C、P状态)
p6-4 (p236): HACK #43 PCI设备的热插拔
p6-5 (p240): HACK #44虚拟环境下的省电
p6-6 (p246): HACK #45远程管理机器的电源
p6-7 (p251): HACK #46 USB的电力管理
p6-8 (p254): HACK #47显示器的省电
p6-9 (p260): HACK #48通过网络设备节省电能
p6-10 (p263): HACK #49关闭键盘的LED来省电
p6-11 (p269): HACK #50 PowerTOP
p6-12 (p276): HACK #51硬盘的省电
p7 (p282): 第7章 调试
p7-1 (p282): HACK #52 SysRq键
p7-2 (p288): HACK #53使用diskdump提取内核崩溃转储
p7-3 (p293): HACK #54使用Kdump提取内核崩溃转储
p7-4 (p297): HACK #55崩溃测试
p7-5 (p299): HACK #56 IPMI看门狗计时器
p7-6 (p305): HACK #57 NMI看门狗计时器
p7-7 (p307): HACK #58 soft lockup
p7-8 (p312): HACK #59 crash命令
p7-9 (p326): HACK #60核心转储过滤器
p7-10 (p329): HACK #61生成用户模式进程的进程核心转储
p7-11 (p335): HACK #62使用lockdep查找系统的死锁
p7-12 (p341): HACK #63检测内核的内存泄漏
p8 (p346): 第8章 概要分析与追踪
p8-1 (p346): HACK #64使用perf tools的概要分析(1)
p8-2 (p349): HACK #65使用perf tools的概要分析(2)
p8-3 (p353): HACK #66进行内核或进程的各种概要分析
p8-4 (p360): HACK #67追踪内核的函数调用
p8-5 (p366): HACK #68 ftrace的插件追踪器
p8-6 (p371): HACK #69记录内核的运行事件
p8-7 (p378): HACK #70使用trace-cmd的内核追踪
p8-8 (p382): HACK #71将动态追踪事件添加到内核中
p8-9 (p388): HACK #72使用SystemTap进行内核追踪
p8-10 (p394): HACK #73使用SystemTap编写对话型程序
p8-11 (p399): HACK #74 SystemTap脚本的重复利用
p8-12 (p402): HACK #75运用SystemTap
p1-1 (p1): HACK #1如何获取Linux内核
p1-2 (p7): HACK #2如何编译Linux内核
p1-3 (p18): HACK #3如何编写内核模块
p1-4 (p22): HACK #4如何使用Git
p1-5 (p41): HACK #5使用checkpatch.pl检查补丁的格式
p1-6 (p44): HACK #6使用localmodconfig缩短编译时间
p2 (p47): 第2章 资源管理
p2-1 (p47): HACK #7 Cgroup、 Namespace、 Linux容器
p2-2 (p55): HACK #8调度策略
p2-3 (p59): HACK #9 RT Group Scheduling与RTThrottling
p2-4 (p62): HACK #10 Fair Group Scheduling
p2-5 (p65): HACK #11 cpuset
p2-6 (p68): HACK #12使用Memory Cgroup限制内存使用量
p2-7 (p74): HACK #13使用Block I/O控制器设置I/O优先级
p2-8 (p80): HACK #14虚拟存储子系统的调整
p2-9 (p85): HACK #15 ramzswap
p2-10 (p91): HACK #16 OOM Killer的运行与结构
p3 (p98): 第3章 文件系统
p3-1 (p98): HACK #17如何使用ext4
p3-2 (p101): HACK #18向ext4转换
p3-3 (p104): HACK #19 ext4的调整
p3-4 (p111): HACK #20使用fio进行I/O的基准测试
p3-5 (p118): HACK #21 FUSE
p4 (p121): 第4章 网络
p4-1 (p121): HACK #22如何控制网络的带宽
p4-2 (p126): HACK #23TUN/TAP设备
p4-3 (p129): HACK #24网桥设备
p4-4 (p133): HACK #25 VLAN
p4-5 (p136): HACK #26 bonding驱动程序
p4-6 (p141): HACK #27 Network Drop Monitor
p5 (p147): 第5章 虚拟化
p5-1 (p147): HACK #28如何使用Xen
p5-2 (p153): HACK #29如何使用KVM
p5-3 (p159): HACK #30如何不使用DVD安装操作系统
p5-4 (p161): HACK #31更改虚拟CPU分配方法,提高性能
p5-5 (p166): HACK #32如何使用EPT提高客户端操作系统的性能
p5-6 (p173): HACK #33使用IOMMU提高客户端操作系统运行速度
p5-7 (p183): HACK #34使用IOMMU+SR-IOV提高客户端操作系统速度
p5-8 (p187): HACK #35 SR-IOV带宽控制
p5-9 (p189): HACK #36使用KSM节约内存
p5-10 (p194): HACK #37如何挂载客户端操作系统的磁盘
p5-11 (p200): HACK #38从客户端操作系统识别虚拟机环境
p5-12 (p205): HACK #39如何调试客户端操作系统
p6 (p213): 第6章 省电
p6-1 (p213): HACK #40 ACPI
p6-2 (p224): HACK #41使用ACPI的S状态
p6-3 (p226): HACK #42使用CPU省电(C、P状态)
p6-4 (p236): HACK #43 PCI设备的热插拔
p6-5 (p240): HACK #44虚拟环境下的省电
p6-6 (p246): HACK #45远程管理机器的电源
p6-7 (p251): HACK #46 USB的电力管理
p6-8 (p254): HACK #47显示器的省电
p6-9 (p260): HACK #48通过网络设备节省电能
p6-10 (p263): HACK #49关闭键盘的LED来省电
p6-11 (p269): HACK #50 PowerTOP
p6-12 (p276): HACK #51硬盘的省电
p7 (p282): 第7章 调试
p7-1 (p282): HACK #52 SysRq键
p7-2 (p288): HACK #53使用diskdump提取内核崩溃转储
p7-3 (p293): HACK #54使用Kdump提取内核崩溃转储
p7-4 (p297): HACK #55崩溃测试
p7-5 (p299): HACK #56 IPMI看门狗计时器
p7-6 (p305): HACK #57 NMI看门狗计时器
p7-7 (p307): HACK #58 soft lockup
p7-8 (p312): HACK #59 crash命令
p7-9 (p326): HACK #60核心转储过滤器
p7-10 (p329): HACK #61生成用户模式进程的进程核心转储
p7-11 (p335): HACK #62使用lockdep查找系统的死锁
p7-12 (p341): HACK #63检测内核的内存泄漏
p8 (p346): 第8章 概要分析与追踪
p8-1 (p346): HACK #64使用perf tools的概要分析(1)
p8-2 (p349): HACK #65使用perf tools的概要分析(2)
p8-3 (p353): HACK #66进行内核或进程的各种概要分析
p8-4 (p360): HACK #67追踪内核的函数调用
p8-5 (p366): HACK #68 ftrace的插件追踪器
p8-6 (p371): HACK #69记录内核的运行事件
p8-7 (p378): HACK #70使用trace-cmd的内核追踪
p8-8 (p382): HACK #71将动态追踪事件添加到内核中
p8-9 (p388): HACK #72使用SystemTap进行内核追踪
p8-10 (p394): HACK #73使用SystemTap编写对话型程序
p8-11 (p399): HACK #74 SystemTap脚本的重复利用
p8-12 (p402): HACK #75运用SystemTap
备用描述
O’Reilly Media, Inc.介绍 41
编者与作者介绍 45
主编简介 45
作者简介 46
撰稿人简介 50
技术审校者简介 52
致谢 53
主编致辞 56
前言 58
本书主要内容 63
本书使用方法 65
本书约定 66
意见与提问 68
第1章 内核入门 71
HACK#1如何获取Linux内核 72
内核的种类 72
Linus树 74
如何获取上游内核 80
如何获取发布版内核 88
Ubuntu 93
小结 95
参考文献 96
HACK#2 如何编译Linux内核 98
内核编译的过程 99
需要的源码包 101
编译、安装上游内核 103
生成内核包 127
在源码树外编译模块 131
交叉编译内核 133
小结 137
参考文献 138
HACK#3 如何编写内核模块 139
内核模块 139
通过内核配置编写模块 141
编写特有的内核模块 142
添加内核模块 150
小结 155
参考文献 156
HACK#4 如何使用Git 157
分布式仓库型SCM 159
在本地仓库进行操作 161
与远程仓库进行共同作业 200
将开发分支rebase到最新状态 211
其他有用的命令 220
小结 221
HACK#5 使用checkpatch.pl检查补丁的格式 222
检查格式的示例 223
使用checkpatch.pl输出的主要错误或警告 228
小结 232
参考文献 233
HACK#6 使用localmodconfig缩短编译时间 234
localmodconfig的使用方法 235
localmodconfig的效果 237
localmodconfig的结构 239
小结 244
第2章 资源管理 245
HACK#7 Cgroup、Namespace、Linux容器 246
Cgroup 246
Namespace 257
Linux容器 259
小结 275
参考文献 276
HACK#8 调度策略 278
调度策略 280
关于调度策略的系统调用 288
chrt命令 290
小结 293
参考文献 294
HACK#9 RT Group Scheduling与RT Throttling 295
实时 296
RT Throttling 298
小结 304
参考文献 305
HACK#10 Fair Group Scheduling 306
Fair Group Scheduling 306
Fair Group Scheduling的使用方法 308
小结 318
HACK#11 cpuset 319
用法 319
小结 331
HACK#12 使用Memory Cgroup限制内存使用量 332
Memory Cgroup 332
用法 334
限制内存使用量 337
层次结构 342
显示统计信息 344
小结 347
参考文献 348
HACK#13 使用Block I/O控制器设置I/O优先级 349
使用Block I/O控制器的前提条件 350
尝试使用Block I/O控制器 354
Block I/O控制器提供的特殊文件 362
关于Block I/O控制器的CFQ设置用虚拟文件 365
限制事项 366
小结 371
参考文献 372
HACK#14 虚拟存储子系统的调整 373
虚拟空间存储方式 373
虚拟空间超额使用量的调整 377
小结 385
HACK#15 ramzswap 389
使用论坛版ramzswap 391
ramzswap disk的使用方法 395
backing swap的使用方法 403
使用上游内核的ramzswap 407
小结 410
参考文献 411
HACK#16 OOM Killer的运行与结构 413
确认运行、日志 413
进程的选定方法 417
计算分数的方法 418
关于OOM Killer的proc文件系统 424
RHEL5的特征 430
RHEL4的运行 433
小结 438
参考文献 439
第3章 文件系统 440
HACK#17 如何使用ext4 441
ext4的生成与挂载 443
关于mount选项 445
开发版ext4的获取方法 447
小结 451
参考文献 452
HACK#18 向ext4转换 453
转换 453
关于功能标志 458
小结 461
参考文献 462
HACK#19 ext4的调整 463
小结 481
参考文献 483
HACK#20 使用fio进行I/O的基准测试 484
安装fio 485
基本执行方法 487
模拟实验的例子和输出的意义 493
小结 506
HACK#21 FUSE 507
FUSE概要 507
安装FUSE文件系统 509
卸载 510
使用FUSE的文件系统 511
小结 518
参考文献 519
第4章 网络 520
HACK#22 如何控制网络的带宽 521
设置带宽控制 521
启动脚本 528
确认带宽控制 533
小结 538
参考文献 539
HACK#23 TUN/TAP设备 541
TUN/TAP设备 541
TUN设备 543
TAP设备 545
应用程序示例 547
使用TUN/TAP设备的程序设计示例 549
小结 556
HACK#24 网桥设备 557
brctl命令 559
使用网桥功能的示例 561
网桥的设置 564
RedHat系列的情况 566
虚拟机的网桥连接 568
小结 570
HACK#25 VLAN 571
使用命令进行设置 572
使用设置文件进行设置 577
MAC-VLAN 581
参考文献 583
HACK#26 bonding驱动程序 584
使用方法 585
关于激活备份模式 594
参考文献 600
HACK#27 Network Drop Monitor 601
dropwatch的使用方法 603
具体调整的例 607
小结 617
参考文献 618
第5章 虚拟化 619
HACK#28 如何使用Xen 620
Xen的概要 623
Xen的半虚拟化客户端的使用方法 625
Xen的全虚拟化客户端的使用方法 630
小结 635
HACK#29 如何使用KVM 638
KVM的概要 638
KVM的使用方法 640
KVM的网络选项 646
小结 652
参考文献 653
HACK#30 如何不使用DVD安装操作系统 654
需要的准备 655
小结 662
HACK#31 更改虚拟CPU分配方法,提高性能 664
使用virt-manager的物理CPU分配方法 665
概要分析 670
小结 676
参考文献 678
HACK#32 如何使用EPT提高客户端操作系统的性能 680
MMU 680
影子页表 682
EPT 686
如何使用EPT 688
EPT+hugepage 693
小结 696
参考文献 697
HACK#33 使用IOMMU提高客户端操作系统运行速度 698
虚拟环境下客户端操作系统的I/O方式 698
关于DMA 705
IOMMU 708
KVM的IOMMU的使用方法 712
Xen的IOMMU的使用方法 722
小结 729
参考文献 731
HACK#34 使用IOMMU+SR-IOV提高客户端操作系统速度 733
SR-IOV 733
SR-IOV的功能 735
在KVM中使用SR-IOV的方法 740
小结 745
HACK#35 SR-IOV带宽控制 747
Intel 82576的带宽控制 747
Intel 82576的带宽控制的使用方法 748
尝试测量带宽 752
小结 755
参考文献 756
HACK#36 使用KSM节约内存 757
使用方法 757
sysfs 759
小结 767
参考文献 768
HACK#37 如何挂载客户端操作系统的磁盘 769
guestfish 770
lomount 778
kpartx 780
小结 786
参考文献 787
HACK#38 从客户端操作系统识别虚拟机环境 788
CPUID命令 788
固有文件 792
ACPI DSDT/FADT的OEM ID 793
System Management BIOS(SMBIOS) 795
virt-what 798
小结 801
参考文献 802
HACK#39 如何调试客户端操作系统 804
Xen的情况 805
KVM的情况 813
小结 823
参考文献 824
第6章 省电 825
HACK#40 ACPI 826
ACPI的用语 827
G状态与S状态 828
D状态 831
C状态 833
P状态 836
ACPI的结构 838
两个编程模型 840
ACPI寄存器 842
ACPI系统描述表 844
ACPI命名空间和AML(ASL) 851
查看ACPI的表 857
小结 862
参考文献 863
HACK#41 使用ACPI的S状态 864
S3状态的使用方法 864
S3状态的结构 867
S4状态的使用方法 870
小结 875
HACK#42 使用CPU省电(C、P状态) 876
C状态的使用方法 876
P状态的使用方法 886
Intel®智能加速技术 901
小结 906
参考文献 907
HACK#43 PCI设备的热插拔 908
Hot-add的流程 910
Hot-remove的流程 913
确认热插拔功能 915
Linux的热插拔子系统 918
小结 921
HACK#44 虚拟环境下的省电 922
虚拟环境下的省电思想 922
Xen的P状态 929
Xen的C状态 936
KVM的C/P状态 938
小结 940
参考文献 942
HACK#45 远程管理机器的电源 943
Wake On LAN 943
IPMI 950
小结 959
参考文献 961
HACK#46 USB的电力管理 962
概要 962
设置方法 964
小结 975
参考文献 976
HACK#47 显示器的省电 977
显示器的电源控制 977
显示器的亮度控制 981
小结 987
参考文献 989
HACK#48 通过网络设备节省电能 993
禁用WOL 993
降低速度 995
进行改造 997
小结 1002
参考文献 1003
HACK#49 关闭键盘的LED来省电 1006
PS/2键盘 1006
各式各样的键盘 1017
参考文献 1023
HACK#50 PowerTOP 1024
概要 1024
PowerTOP的详细情况和结构 1028
小结 1041
参考文献 1042
HACK#51 硬盘的省电 1043
LPM 1043
显示正在使用的硬盘信息 1048
关于省电的设置 1053
关于I/O性能的设置 1056
参考文献 1063
第7章 调试 1064
HACK#52 SysRq键 1065
使用方法 1065
SysRq键的输入方法 1069
SysRq命令键 1071
上游内核的SysRq键显示的例子 1079
各种情况下的使用方法 1083
小结 1086
参考文献 1087
HACK#53 使用diskdump提取内核崩溃转储 1088
内核崩溃转储 1088
diskdump的限制事项 1090
启用diskdump 1092
使用压缩和部分转储功能缩小转储文件的大小 1096
发生故障时通过邮件通知 1100
将转储输出到的设备冗长化 1102
小结 1104
参考文献 1105
HACK#54 使用Kdump提取内核崩溃转储 1106
启用崩溃转储 1106
使用makedumpfile缩小转储的文件大小 1112
向远程服务器传输崩溃转储 1119
小结 1122
参考文献 1123
HACK#55 崩溃测试 1124
小结 1129
HACK#56 IPMI看门狗计时器 1130
IPMI看门狗计时器 1130
IPMI看门狗计时器的使用方法 1133
设置示例 1140
确认运行 1142
其他看门狗计时器 1146
参考文献 1150
HACK#57 NMI看门狗计时器 1151
NMI看门狗计时器 1151
NMI看门狗计时器的使用方法 1156
关于NMI的其他参数 1159
HACK#58 soft lockup 1162
soft lockup的结构 1163
soft lockup的设置 1165
soft lockup的确认 1167
锁定检测的限制 1175
避免soft lockup的错误检测 1177
小结 1178
HACK#59 crash命令 1179
支持范围 1179
安装与启动的方法 1183
实用工具命令(utility command) 1187
参照内核信息的命令 1194
扩展命令 1218
crash选项 1222
参考文献 1224
HACK#60 核心转储过滤器 1225
使用方法 1227
sysctl 1230
小结 1235
参考文献 1236
HACK#61 生成用户模式进程的进程核心转储 1237
使用案例 1237
安装 1240
使用crash参照用户进程的符号信息的方法 1250
支持范围 1254
注意事项 1255
参考文献 1258
HACK#62 使用lockdep查找系统的死锁 1259
lockdep的结构 1261
创建启用了lockdep的内核 1269
尝试使用lockdep功能 1271
小结 1277
参考文献 1278
HACK#63 检测内核的内存泄漏 1279
编译内核 1279
使用方法 1282
小结 1291
参考文献 1292
第8章 概要分析与追踪 1293
HACK#64 使用perf tools的概要分析(1) 1295
perf tools 1295
确认perf tools的运行 1297
小结 1304
参考文献 1305
HACK#65 使用perf tools的概要分析(2) 1306
使用perf进行概要分析的步骤 1306
进行缓存未命中的概要分析 1312
小结 1319
HACK#66 进行内核或进程的各种概要分析 1320
使用perf stat获取综合统计信息 1320
使用perf script进行追踪 1324
使用自己的脚本处理数据 1333
小结 1341
参考文献 1342
HACK#67 追踪内核的函数调用 1343
ftrace 1344
创建启用ftrace的内核 1347
操作ftrace的debugfs接口 1350
使用ftrace追踪函数调用 1355
小结 1360
参考文献 1361
HACK#68 ftrace的插件追踪器 1362
获取函数的调用关系 1362
进行函数的概要分析 1366
调查占用内核栈最大的位置 1369
测量中断的延迟 1372
小结 1377
参考文献 1378
HACK#69 记录内核的运行事件 1379
调查可使用的追踪事件 1383
调查事件的格式 1387
控制事件 1392
使用ftrace的事件加强其他的追踪器输出 1398
小结 1403
参考文献 1404
HACK#70 使用trace-cmd的内核追踪 1405
trace-cmd的获取与创建 1405
使用trace-cmd进行追踪 1408
使用trace-cmd进行后台追踪 1412
使用trace-cmd结束追踪 1416
使用trace-cmd获取远程机器的追踪 1418
小结 1423
HACK#71 将动态追踪事件添加到内核中 1424
动态追踪事件 1424
经由ftrace将动态追踪事件添加到内核中 1427
使用perf probe将动态追踪事件添加到内核中 1434
启用调试信息和动态追踪事件构建内核 1436
perf probe的使用方法 1440
小结 1448
参考文献 1449
HACK#72 使用SystemTap进行内核追踪 1450
概述 1450
准备 1452
样本脚本 1454
测量时间 1457
定义探测点 1459
尝试执行 1466
小结 1470
参考 1471
HACK#73 使用SystemTap编写对话型程序 1473
使用SystemTap进行输出界面控制 1474
使用SystemTap接受来自键盘、鼠标的输入 1477
小结 1487
参考文献 1488
HACK#74 SystemTap脚本的重复利用 1489
使用别名分离逻辑 1490
编写Tapset 1494
SystemTap脚本的Shebang 1495
小结 1499
HACK#75 运用SystemTap 1500
在后台执行SystemTap 1500
将SystemTap作为服务启动 1509
小结 1519
参考资料 1520
编者与作者介绍 45
主编简介 45
作者简介 46
撰稿人简介 50
技术审校者简介 52
致谢 53
主编致辞 56
前言 58
本书主要内容 63
本书使用方法 65
本书约定 66
意见与提问 68
第1章 内核入门 71
HACK#1如何获取Linux内核 72
内核的种类 72
Linus树 74
如何获取上游内核 80
如何获取发布版内核 88
Ubuntu 93
小结 95
参考文献 96
HACK#2 如何编译Linux内核 98
内核编译的过程 99
需要的源码包 101
编译、安装上游内核 103
生成内核包 127
在源码树外编译模块 131
交叉编译内核 133
小结 137
参考文献 138
HACK#3 如何编写内核模块 139
内核模块 139
通过内核配置编写模块 141
编写特有的内核模块 142
添加内核模块 150
小结 155
参考文献 156
HACK#4 如何使用Git 157
分布式仓库型SCM 159
在本地仓库进行操作 161
与远程仓库进行共同作业 200
将开发分支rebase到最新状态 211
其他有用的命令 220
小结 221
HACK#5 使用checkpatch.pl检查补丁的格式 222
检查格式的示例 223
使用checkpatch.pl输出的主要错误或警告 228
小结 232
参考文献 233
HACK#6 使用localmodconfig缩短编译时间 234
localmodconfig的使用方法 235
localmodconfig的效果 237
localmodconfig的结构 239
小结 244
第2章 资源管理 245
HACK#7 Cgroup、Namespace、Linux容器 246
Cgroup 246
Namespace 257
Linux容器 259
小结 275
参考文献 276
HACK#8 调度策略 278
调度策略 280
关于调度策略的系统调用 288
chrt命令 290
小结 293
参考文献 294
HACK#9 RT Group Scheduling与RT Throttling 295
实时 296
RT Throttling 298
小结 304
参考文献 305
HACK#10 Fair Group Scheduling 306
Fair Group Scheduling 306
Fair Group Scheduling的使用方法 308
小结 318
HACK#11 cpuset 319
用法 319
小结 331
HACK#12 使用Memory Cgroup限制内存使用量 332
Memory Cgroup 332
用法 334
限制内存使用量 337
层次结构 342
显示统计信息 344
小结 347
参考文献 348
HACK#13 使用Block I/O控制器设置I/O优先级 349
使用Block I/O控制器的前提条件 350
尝试使用Block I/O控制器 354
Block I/O控制器提供的特殊文件 362
关于Block I/O控制器的CFQ设置用虚拟文件 365
限制事项 366
小结 371
参考文献 372
HACK#14 虚拟存储子系统的调整 373
虚拟空间存储方式 373
虚拟空间超额使用量的调整 377
小结 385
HACK#15 ramzswap 389
使用论坛版ramzswap 391
ramzswap disk的使用方法 395
backing swap的使用方法 403
使用上游内核的ramzswap 407
小结 410
参考文献 411
HACK#16 OOM Killer的运行与结构 413
确认运行、日志 413
进程的选定方法 417
计算分数的方法 418
关于OOM Killer的proc文件系统 424
RHEL5的特征 430
RHEL4的运行 433
小结 438
参考文献 439
第3章 文件系统 440
HACK#17 如何使用ext4 441
ext4的生成与挂载 443
关于mount选项 445
开发版ext4的获取方法 447
小结 451
参考文献 452
HACK#18 向ext4转换 453
转换 453
关于功能标志 458
小结 461
参考文献 462
HACK#19 ext4的调整 463
小结 481
参考文献 483
HACK#20 使用fio进行I/O的基准测试 484
安装fio 485
基本执行方法 487
模拟实验的例子和输出的意义 493
小结 506
HACK#21 FUSE 507
FUSE概要 507
安装FUSE文件系统 509
卸载 510
使用FUSE的文件系统 511
小结 518
参考文献 519
第4章 网络 520
HACK#22 如何控制网络的带宽 521
设置带宽控制 521
启动脚本 528
确认带宽控制 533
小结 538
参考文献 539
HACK#23 TUN/TAP设备 541
TUN/TAP设备 541
TUN设备 543
TAP设备 545
应用程序示例 547
使用TUN/TAP设备的程序设计示例 549
小结 556
HACK#24 网桥设备 557
brctl命令 559
使用网桥功能的示例 561
网桥的设置 564
RedHat系列的情况 566
虚拟机的网桥连接 568
小结 570
HACK#25 VLAN 571
使用命令进行设置 572
使用设置文件进行设置 577
MAC-VLAN 581
参考文献 583
HACK#26 bonding驱动程序 584
使用方法 585
关于激活备份模式 594
参考文献 600
HACK#27 Network Drop Monitor 601
dropwatch的使用方法 603
具体调整的例 607
小结 617
参考文献 618
第5章 虚拟化 619
HACK#28 如何使用Xen 620
Xen的概要 623
Xen的半虚拟化客户端的使用方法 625
Xen的全虚拟化客户端的使用方法 630
小结 635
HACK#29 如何使用KVM 638
KVM的概要 638
KVM的使用方法 640
KVM的网络选项 646
小结 652
参考文献 653
HACK#30 如何不使用DVD安装操作系统 654
需要的准备 655
小结 662
HACK#31 更改虚拟CPU分配方法,提高性能 664
使用virt-manager的物理CPU分配方法 665
概要分析 670
小结 676
参考文献 678
HACK#32 如何使用EPT提高客户端操作系统的性能 680
MMU 680
影子页表 682
EPT 686
如何使用EPT 688
EPT+hugepage 693
小结 696
参考文献 697
HACK#33 使用IOMMU提高客户端操作系统运行速度 698
虚拟环境下客户端操作系统的I/O方式 698
关于DMA 705
IOMMU 708
KVM的IOMMU的使用方法 712
Xen的IOMMU的使用方法 722
小结 729
参考文献 731
HACK#34 使用IOMMU+SR-IOV提高客户端操作系统速度 733
SR-IOV 733
SR-IOV的功能 735
在KVM中使用SR-IOV的方法 740
小结 745
HACK#35 SR-IOV带宽控制 747
Intel 82576的带宽控制 747
Intel 82576的带宽控制的使用方法 748
尝试测量带宽 752
小结 755
参考文献 756
HACK#36 使用KSM节约内存 757
使用方法 757
sysfs 759
小结 767
参考文献 768
HACK#37 如何挂载客户端操作系统的磁盘 769
guestfish 770
lomount 778
kpartx 780
小结 786
参考文献 787
HACK#38 从客户端操作系统识别虚拟机环境 788
CPUID命令 788
固有文件 792
ACPI DSDT/FADT的OEM ID 793
System Management BIOS(SMBIOS) 795
virt-what 798
小结 801
参考文献 802
HACK#39 如何调试客户端操作系统 804
Xen的情况 805
KVM的情况 813
小结 823
参考文献 824
第6章 省电 825
HACK#40 ACPI 826
ACPI的用语 827
G状态与S状态 828
D状态 831
C状态 833
P状态 836
ACPI的结构 838
两个编程模型 840
ACPI寄存器 842
ACPI系统描述表 844
ACPI命名空间和AML(ASL) 851
查看ACPI的表 857
小结 862
参考文献 863
HACK#41 使用ACPI的S状态 864
S3状态的使用方法 864
S3状态的结构 867
S4状态的使用方法 870
小结 875
HACK#42 使用CPU省电(C、P状态) 876
C状态的使用方法 876
P状态的使用方法 886
Intel®智能加速技术 901
小结 906
参考文献 907
HACK#43 PCI设备的热插拔 908
Hot-add的流程 910
Hot-remove的流程 913
确认热插拔功能 915
Linux的热插拔子系统 918
小结 921
HACK#44 虚拟环境下的省电 922
虚拟环境下的省电思想 922
Xen的P状态 929
Xen的C状态 936
KVM的C/P状态 938
小结 940
参考文献 942
HACK#45 远程管理机器的电源 943
Wake On LAN 943
IPMI 950
小结 959
参考文献 961
HACK#46 USB的电力管理 962
概要 962
设置方法 964
小结 975
参考文献 976
HACK#47 显示器的省电 977
显示器的电源控制 977
显示器的亮度控制 981
小结 987
参考文献 989
HACK#48 通过网络设备节省电能 993
禁用WOL 993
降低速度 995
进行改造 997
小结 1002
参考文献 1003
HACK#49 关闭键盘的LED来省电 1006
PS/2键盘 1006
各式各样的键盘 1017
参考文献 1023
HACK#50 PowerTOP 1024
概要 1024
PowerTOP的详细情况和结构 1028
小结 1041
参考文献 1042
HACK#51 硬盘的省电 1043
LPM 1043
显示正在使用的硬盘信息 1048
关于省电的设置 1053
关于I/O性能的设置 1056
参考文献 1063
第7章 调试 1064
HACK#52 SysRq键 1065
使用方法 1065
SysRq键的输入方法 1069
SysRq命令键 1071
上游内核的SysRq键显示的例子 1079
各种情况下的使用方法 1083
小结 1086
参考文献 1087
HACK#53 使用diskdump提取内核崩溃转储 1088
内核崩溃转储 1088
diskdump的限制事项 1090
启用diskdump 1092
使用压缩和部分转储功能缩小转储文件的大小 1096
发生故障时通过邮件通知 1100
将转储输出到的设备冗长化 1102
小结 1104
参考文献 1105
HACK#54 使用Kdump提取内核崩溃转储 1106
启用崩溃转储 1106
使用makedumpfile缩小转储的文件大小 1112
向远程服务器传输崩溃转储 1119
小结 1122
参考文献 1123
HACK#55 崩溃测试 1124
小结 1129
HACK#56 IPMI看门狗计时器 1130
IPMI看门狗计时器 1130
IPMI看门狗计时器的使用方法 1133
设置示例 1140
确认运行 1142
其他看门狗计时器 1146
参考文献 1150
HACK#57 NMI看门狗计时器 1151
NMI看门狗计时器 1151
NMI看门狗计时器的使用方法 1156
关于NMI的其他参数 1159
HACK#58 soft lockup 1162
soft lockup的结构 1163
soft lockup的设置 1165
soft lockup的确认 1167
锁定检测的限制 1175
避免soft lockup的错误检测 1177
小结 1178
HACK#59 crash命令 1179
支持范围 1179
安装与启动的方法 1183
实用工具命令(utility command) 1187
参照内核信息的命令 1194
扩展命令 1218
crash选项 1222
参考文献 1224
HACK#60 核心转储过滤器 1225
使用方法 1227
sysctl 1230
小结 1235
参考文献 1236
HACK#61 生成用户模式进程的进程核心转储 1237
使用案例 1237
安装 1240
使用crash参照用户进程的符号信息的方法 1250
支持范围 1254
注意事项 1255
参考文献 1258
HACK#62 使用lockdep查找系统的死锁 1259
lockdep的结构 1261
创建启用了lockdep的内核 1269
尝试使用lockdep功能 1271
小结 1277
参考文献 1278
HACK#63 检测内核的内存泄漏 1279
编译内核 1279
使用方法 1282
小结 1291
参考文献 1292
第8章 概要分析与追踪 1293
HACK#64 使用perf tools的概要分析(1) 1295
perf tools 1295
确认perf tools的运行 1297
小结 1304
参考文献 1305
HACK#65 使用perf tools的概要分析(2) 1306
使用perf进行概要分析的步骤 1306
进行缓存未命中的概要分析 1312
小结 1319
HACK#66 进行内核或进程的各种概要分析 1320
使用perf stat获取综合统计信息 1320
使用perf script进行追踪 1324
使用自己的脚本处理数据 1333
小结 1341
参考文献 1342
HACK#67 追踪内核的函数调用 1343
ftrace 1344
创建启用ftrace的内核 1347
操作ftrace的debugfs接口 1350
使用ftrace追踪函数调用 1355
小结 1360
参考文献 1361
HACK#68 ftrace的插件追踪器 1362
获取函数的调用关系 1362
进行函数的概要分析 1366
调查占用内核栈最大的位置 1369
测量中断的延迟 1372
小结 1377
参考文献 1378
HACK#69 记录内核的运行事件 1379
调查可使用的追踪事件 1383
调查事件的格式 1387
控制事件 1392
使用ftrace的事件加强其他的追踪器输出 1398
小结 1403
参考文献 1404
HACK#70 使用trace-cmd的内核追踪 1405
trace-cmd的获取与创建 1405
使用trace-cmd进行追踪 1408
使用trace-cmd进行后台追踪 1412
使用trace-cmd结束追踪 1416
使用trace-cmd获取远程机器的追踪 1418
小结 1423
HACK#71 将动态追踪事件添加到内核中 1424
动态追踪事件 1424
经由ftrace将动态追踪事件添加到内核中 1427
使用perf probe将动态追踪事件添加到内核中 1434
启用调试信息和动态追踪事件构建内核 1436
perf probe的使用方法 1440
小结 1448
参考文献 1449
HACK#72 使用SystemTap进行内核追踪 1450
概述 1450
准备 1452
样本脚本 1454
测量时间 1457
定义探测点 1459
尝试执行 1466
小结 1470
参考 1471
HACK#73 使用SystemTap编写对话型程序 1473
使用SystemTap进行输出界面控制 1474
使用SystemTap接受来自键盘、鼠标的输入 1477
小结 1487
参考文献 1488
HACK#74 SystemTap脚本的重复利用 1489
使用别名分离逻辑 1490
编写Tapset 1494
SystemTap脚本的Shebang 1495
小结 1499
HACK#75 运用SystemTap 1500
在后台执行SystemTap 1500
将SystemTap作为服务启动 1509
小结 1519
参考资料 1520
开源日期
2021-06-27
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.