Linux操作系統(tǒng)09-模塊內(nèi)核_第1頁(yè)
Linux操作系統(tǒng)09-模塊內(nèi)核_第2頁(yè)
Linux操作系統(tǒng)09-模塊內(nèi)核_第3頁(yè)
Linux操作系統(tǒng)09-模塊內(nèi)核_第4頁(yè)
Linux操作系統(tǒng)09-模塊內(nèi)核_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux操作系統(tǒng)軟件模塊和內(nèi)核安裝配置周炯 上海艾基信息技術(shù)有限公司1Acegene IT Co. Ltd.內(nèi)容提要1 軟件安裝與配置2 開(kāi)機(jī)和關(guān)機(jī)3 系統(tǒng)服務(wù)4 內(nèi)核管理5 模塊管理6 核心參數(shù)2Acegene IT Co. Ltd.1 軟件安裝與配置本部分將討論兩種最常用的軟件安裝方法:使用Red Hat Package Manager軟件包管理工具軟件(RPM)和自行編譯源代碼。本部分中所有需要輸入的命令都是以根用戶(hù)的身份輸入的。因此最好是直接以根用戶(hù)身份登錄進(jìn)入系統(tǒng)。3Acegene IT Co. Ltd.RPM Package ManagerManage software pack

2、agesInstall, upgrade, remove, verify, query, buildPackage files referred to as RPMsDistributed by the vendorInclude files to be installed plus some install scriptsSource RPMs contain the source codee.g., kernel-2.4.9-e.24.src.rpmBinary RPMs contain the pre-built binariese.g., kernel-2.4.9-e.24.i686.

3、rpmChoose the highest architecture the machine can usee.g., i686, i586, i486, i386 (uname -m)4Acegene IT Co. Ltd.1 Red Hat Package Manager一些可以獲得到rpm軟件的站點(diǎn)http:/ftp:/pub/contribhttp:/rpm的老家http:/5Acegene IT Co. Ltd.1 安裝新的軟件包普通安裝:#rpm -i bc-1.05a-4.i386.rpm升級(jí)軟件:#rpm -U bc-1.05a-4.i386.rpm強(qiáng)行安裝:#rpm -i -

4、force -nodeps packagename.rpm其他參數(shù)-h 使用符號(hào)“#”指示安裝進(jìn)度,與-v參數(shù)一起使用時(shí)顯示效果更好-v 告訴RPM報(bào)告每一步操作的情況-test 這個(gè)參數(shù)并不進(jìn)行真正的安裝;它只是用來(lái)檢查安裝能否成功地完成。用于檢查依賴(lài)關(guān)系是否安全。-percent 顯示已完成的百分比指示安裝進(jìn)度。如果從另外一個(gè)程序(比如某個(gè)Perl腳本程序)中來(lái)運(yùn)行RPM,并且想了解安裝的進(jìn)度時(shí),這個(gè)參數(shù)就很方便。6Acegene IT Co. Ltd.1 查詢(xún)軟件包列出已經(jīng)安裝的全部軟件包#rpm -qa#rpm -qa | grep -i name找出某個(gè)特定的文件到底是屬于哪個(gè)軟件包

5、的#rpm -qf filename查出某個(gè)已經(jīng)安裝的軟件包的功能#rpm -qi packagename查出軟件包中的文件#rpm -qlp packagename其中的packagename是準(zhǔn)備要了解其組成文件的軟件包名稱(chēng)列出已經(jīng)安裝的軟件包中的文件:#rpm ql 7Acegene IT Co. Ltd.1 反安裝(清除)軟件包RPM反安裝(清除)軟件包#rpm -e packagename其中的packagename是rpm -qa命令清單中列出的軟件包名稱(chēng)。8Acegene IT Co. Ltd.1 gnorpm工具那些喜歡使用GUI工具簡(jiǎn)化操作的人們可以使用gnorpm軟件。雖然

6、它是被設(shè)計(jì)運(yùn)行于GNOME環(huán)境的,但在KDE環(huán)境中也運(yùn)行得相當(dāng)好。它可以完成通過(guò)命令行完成的全部操作,但是用戶(hù)就不必費(fèi)力記住那些命令行參數(shù)了。當(dāng)然,這樣做是要增加一些系統(tǒng)開(kāi)銷(xiāo)的,這也是命令行版本依然存在的原因。9Acegene IT Co. Ltd.RPM BuildsBuilds consist of multiple phases:Prep extracts and patches sourcesBuild make individual binariesInstall creates an install staging areaDoesnt install it for use on

7、the local system!Additional actions come after Install phase:Create a source RPMCreate a binary RPM10Acegene IT Co. Ltd.RPM Work AreaWork area is used for building RPMsLocation depends on vendor:Red Hat: /usr/src/redhatUnitedLinux: /usr/src/packagesDirectory structure contents:SPECS RPM spec fileSOU

8、RCES source archives and patchesBUILD extracted source, objects, binariesRPMS generated binary RPMsSRPMS generated source RPMs11Acegene IT Co. Ltd.RPM Build ProcedureFirst, install source RPMPopulates SPECS and SOURCESRun build phasesPopulates BUILD and creates staging areaGenerate binary and/or sou

9、rce RPMsPopulates RPMS and SRPMS, respectivelyClean up the build areaInstall the new binary RPM if desired12Acegene IT Co. Ltd.RPM Build ExampleAll in one go:rpm rebuild stat-2.5-3.src.rpmStep-by-step:rpm i stat-2.5-3.src.rpmcd /usr/src/redhat/SPECSrpm bp stat.specrpm bc stat.specrpm bi stat.specrpm

10、 bl stat.specrpm ba stat.spec cleanrpm i ./RPMS/i386/stat-2.5-3.i386.rpm13Acegene IT Co. Ltd.2 開(kāi)機(jī)和關(guān)機(jī)2.1 系統(tǒng)引導(dǎo)2.2 啟動(dòng)文件2.3 內(nèi)核加載2.4 init進(jìn)程14Acegene IT Co. Ltd.2.1 啟動(dòng)引導(dǎo) - Boot LoadersGrubNew and improved boot loaderConfigured via /boot/grub/menu.lstNot necessary to rerun after config changesGrub Configur

11、ation default=0timeout=10splashimage=(hd0,0)/boot/grub/splash.xpm.gztitle Red Hat Ent Linux AS (2.4.21-9.EL) root (hd0,0) kernel /boot/vmlinuz-2.4.21-9.EL root=LABEL=/ initrd /boot/initrd-2.4.21-9.EL.imgLILOOriginal Linux boot loaderConfigured via /etc/lilo.confMust run /sbin/lilo after any change t

12、o lilo.conf or binary images (/boot/*)15Acegene IT Co. Ltd.2.2 Boot FilesKernel binary:IA-32 (compressed): /boot/vmlinuz-$LABELOther architectures: /boot/vmlinux-$LABELinitrd images:/boot/initrd-$LABELSystem mapfile:/boot/System.map-$LABELBy convention kernel binary, initrd and system mapfile should

13、 share the same $LABEL16Acegene IT Co. Ltd.2.2 Initrd ImagesKernel cant mount root fs until appropriate disk drivers are loaded (except IDE)Initrd is loaded into memory by Grub/LILOContains drivers needed to mount real root fsInitrd must be rebuilt if a disk driver changesTo rebuild:RH: Use /sbin/mk

14、initrdSUSE: Use /sbin/mk_initrd17Acegene IT Co. Ltd.2.3 開(kāi)機(jī)引導(dǎo)的步驟加載內(nèi)核 內(nèi)核就必須完整地加載到可用RAM的第一個(gè)兆字節(jié)之內(nèi)。為了實(shí)現(xiàn)這個(gè)目的,內(nèi)核是被壓縮了的。這個(gè)文件的頭部包含著必要的代碼,先設(shè)置CPU進(jìn)入安全模式(以此解除內(nèi)存限制)再對(duì)內(nèi)核的剩余部分進(jìn)行解壓縮。執(zhí)行內(nèi)核 內(nèi)核在內(nèi)存中解壓縮之后,它就可以開(kāi)始運(yùn)行了一旦內(nèi)核啟動(dòng)運(yùn)行,對(duì)硬件的檢測(cè)就會(huì)決定需要對(duì)哪些設(shè)備驅(qū)動(dòng)程序進(jìn)行初始化。內(nèi)核就能夠掛裝根文件系統(tǒng),內(nèi)核掛裝了根文件系統(tǒng)之后,啟動(dòng)并運(yùn)行一個(gè)叫做init的程序。18Acegene IT Co. Ltd.2.4 開(kāi)機(jī)引導(dǎo)的

15、步驟init進(jìn)程是所有進(jìn)程的發(fā)起者和控制者。init是第一個(gè)運(yùn)行的進(jìn)程,init的進(jìn)程編號(hào)永遠(yuǎn)是1。如果init出現(xiàn)問(wèn)題,系統(tǒng)隨之垮掉。init進(jìn)程有兩個(gè)作用:扮演終極父進(jìn)程的角色。失去了父進(jìn)程的子進(jìn)程就都會(huì)以init作為它們的父進(jìn)程??焖賵?zhí)行一下ps -af 命令可以列出許多父進(jìn)程ID(parent process ID,PPID)為1的進(jìn)程來(lái)。特定運(yùn)行級(jí)別( runlevel)時(shí)運(yùn)行相應(yīng)的程序,init讀取配置文件/etc/inittab,決定啟動(dòng)的運(yùn)行級(jí)別(runlevel)。缺省的運(yùn)行級(jí)別取決于配置文件 /etc/inittab id:3:initdefault:Run Level D

16、escription6543210RebootGUI(Unused)MultiUserNo NetworkSingle UserHalt19Acegene IT Co. Ltd.2.4 開(kāi)機(jī)引導(dǎo)的步驟命令腳本程序執(zhí)行 rc.sysinit執(zhí)行腳本在各個(gè)運(yùn)行級(jí)別的子目錄中/etc/rcRUNLEVEL.d 都建立有到/etc/rc.d/init.d子目錄中的符號(hào)鏈接。但是這些符號(hào)鏈接并不使用命令腳本程序在/etc/rc.d/init.d子目錄中原來(lái)的名字,如果命令腳本程序是用來(lái)啟動(dòng)一個(gè)服務(wù)的,其符號(hào)鏈接的名字就以字母S打頭;如果命令腳本程序是用來(lái)關(guān)閉一個(gè)服務(wù)的,其符號(hào)鏈接的名字就以字母K打頭運(yùn)行

17、級(jí)別3和5中,在字母S后面使用了數(shù)字99,這就保證了這個(gè)命令腳本程序?qū)⒆鳛橐龑?dǎo)過(guò)程的組成部分,其最后階段被執(zhí)行。20Acegene IT Co. Ltd.2.4 編寫(xiě)自己的rc命令腳本程序有兩種方法可以用來(lái)實(shí)現(xiàn)修改開(kāi)機(jī)或者關(guān)機(jī)命令腳本的目的:/etc/rc.d/rc.local 如果所做的修改只在引導(dǎo)開(kāi)機(jī)的時(shí)候起作用,并且改動(dòng)不大的話,可以考慮簡(jiǎn)單地編輯一下/etc/rc.d/rc.local腳本。這個(gè)命令腳本程序是在引導(dǎo)過(guò)程的最后一步被執(zhí)行的。/etc/rc.d/init.d子目錄中添加一個(gè)命令腳本程序適合修改比較細(xì)致,或者還要求關(guān)閉進(jìn)程的操作必須使之明確地停止運(yùn)行這個(gè)命令腳本程序必須可以接

18、受start和stop參數(shù)并完成相應(yīng)的操作。21Acegene IT Co. Ltd.3 系統(tǒng)服務(wù)管理用于在激活或停用啟動(dòng)時(shí)的服務(wù)會(huì)修改/etc/rcX.d 到 /etc/init.d的(符號(hào)聯(lián)接symbolic links)配置服務(wù) chkconfigchkconfig -list chkconfig -level 2345 service on|off 服務(wù)管理 serviceservice servicename start|stop|restart22Acegene IT Co. Ltd.使用 chkconfig# See where sendmail is runningchkcon

19、fig -list sendmailsendmail 0:off 1:off 2:off 3:on 4:off 5:on 6:off# Turn off sendmail at levels 3 & 5# too many spammers out there!chkconfig -level 35 sendmail off23Acegene IT Co. Ltd.4 內(nèi)核4.1 核心服務(wù)4.2 內(nèi)核編譯和安裝4.3 模塊加載卸載24Acegene IT Co. Ltd.4.1 核心級(jí)系統(tǒng)服務(wù)核心系統(tǒng)服務(wù):init、inetd、syslog和cron。本部分將對(duì)每一個(gè)核心系統(tǒng)服務(wù)、相應(yīng)的配置文

20、件以及推薦的應(yīng)用方式(如果有的話)逐個(gè)進(jìn)行介紹。25Acegene IT Co. Ltd.4.2 安裝新內(nèi)核Distributed by vendors in binary RPM formatRed Hat: kernel-smp|enterprise-*.i686.rpmUnitedLinux: ?RPM contents:/boot/vmlinuz-$LABEL/boot/System.map-$LABEL/lib/module/$LABEL/RPM script generates a new initrd-$LABEL and automatically adds a Grub en

21、tryIf using LILO instead of Grub, then add lilo.conf entry manually and re-run /sbin/lilo26Acegene IT Co. Ltd.4.2 編譯或者不編譯內(nèi)核的原因編譯的原因運(yùn)行一個(gè)程序,但是操作系統(tǒng)不支持該程序需要的功能。某個(gè)用戶(hù)需要的內(nèi)核功能比如說(shuō)用戶(hù)的機(jī)器中裝有1GB到2GB容量之間的RAM系統(tǒng)內(nèi)存,只能重新編譯經(jīng)過(guò)改動(dòng)的內(nèi)核才能夠激活它。用戶(hù)希望對(duì)內(nèi)核進(jìn)行優(yōu)化。內(nèi)核升級(jí)(驅(qū)動(dòng)、BUG、意愿、功能、安全、有時(shí)間進(jìn)行升級(jí))為什么不編譯如果只是想給內(nèi)核加上很少數(shù)量的功能的話,就沒(méi)有必要進(jìn)行編譯編譯內(nèi)核可能

22、會(huì)遇到的困難:面對(duì)眾多的選項(xiàng)27Acegene IT Co. Ltd.確定內(nèi)核版本uname r確定內(nèi)核是測(cè)試版還是正式版按照下面的方法確定內(nèi)核是測(cè)試版還是正式版:1) 忽略句號(hào)”.”前的第一個(gè)數(shù)字。2) 查看緊跟在句號(hào)”.”后面的第二個(gè)數(shù)字。在實(shí)驗(yàn)性版本中,緊跟在第一個(gè)句號(hào)后面的第一個(gè)數(shù)字是一個(gè)奇數(shù)。在成熟版本中,緊跟在第一個(gè)句號(hào)后面的第一個(gè)數(shù)字是一個(gè)偶數(shù)。舉例來(lái)說(shuō),內(nèi)核版本2.2.5-15是成熟版本,而版本2.3.4-12是實(shí)驗(yàn)性版本4.2 編譯(或升級(jí))內(nèi)核28Acegene IT Co. Ltd.4.2 為內(nèi)核源代碼打補(bǔ)丁內(nèi)核經(jīng)常需要小規(guī)模地升級(jí)。每次升級(jí)修復(fù)一個(gè)特定的bug,增加一個(gè)

23、新的驅(qū)動(dòng)程序或者功能,或者實(shí)現(xiàn)其他任務(wù)。1) 下載主版本的源代碼和升級(jí)到新版本需要的每一個(gè)補(bǔ)丁的源代碼。2) 使用c d命令把路徑切換到/usr/src目錄。3) 使用l s命令列出目錄中的內(nèi)容清單。如果其中有一個(gè)/usr/src/linux-version-ext目錄已經(jīng)存在的話,一般情況這就是正在已經(jīng)運(yùn)行的內(nèi)核源代碼。4) 輸入“mkdir linux-newversion-ext”命令建立一個(gè)新的源代碼目錄。5) 把下載的源代碼和補(bǔ)丁都拷貝到這個(gè)目錄中。6) 使用tar命令對(duì)源代碼進(jìn)行解包操作。7) 每一個(gè)補(bǔ)丁都應(yīng)該分別并按順序來(lái)處理。使用tar命令對(duì)第一個(gè)補(bǔ)丁進(jìn)行解包操作。8) 使用p

24、atch命令把這個(gè)補(bǔ)丁打到源代碼中去。輸入“patch -p0 original patchname”命令。9) 依次打補(bǔ)丁10) 準(zhǔn)備編譯注意:在源代碼中有時(shí)候會(huì)包括有一個(gè)名為kernel-patch的命令腳本程序,該程序的功能是按順序打所有的補(bǔ)丁。29Acegene IT Co. Ltd.4.2 編譯內(nèi)核1) 獲取需要安裝的內(nèi)核源代碼。2) 使用tar命令把源代碼解包到/usr/src/linux-version-ext目錄3) 使用cd命令把路徑切換到這個(gè)目錄。4) 選擇你想使用的內(nèi)核配置工具程序:圖形化功能最少,又很乏味的工具是config程序一個(gè)圖形化的工具是menuconfig程序

25、用于對(duì)內(nèi)核進(jìn)行配置的X工具總是最流行的,它叫做xconfigMake config|menuconfig|xconfig保存并退出內(nèi)核配置程序之后,就已經(jīng)有了用來(lái)配置內(nèi)核設(shè)置值了。5) 輸入“make dep”命令建立依賴(lài)關(guān)系表,它定義了包括在內(nèi)核源代碼中的某個(gè)特定文件如果發(fā)生了變化,就需要修改哪一個(gè)文件。6) 輸入“make clean”命令刪除安裝過(guò)程中產(chǎn)生的大量臨時(shí)文件。7) 輸入“make bzImage”命令完成建立新內(nèi)核的過(guò)程。8) 輸入“make modules”命令編譯內(nèi)核模塊并把它們存放到相應(yīng)的位置。這是那些需要加載或者卸載的內(nèi)核模塊,另外還有一些固定加載的。9) 安裝內(nèi)核3

26、0Acegene IT Co. Ltd.4.2 安裝內(nèi)核簡(jiǎn)單(自動(dòng))方法:make install make module_install reboot31Acegene IT Co. Ltd.4.2 安裝內(nèi)核手工方法:1) 使用ls命令列出/boot目錄中的內(nèi)容。2) 備份/boot/vmlinuz文件。改名為vmlinuz-version-ext。3)拷貝編譯過(guò)程中生成的bzImage文件到/boot目錄中。/usr/src/LINUX_PATH/arch/i386/boot/目錄中找到。4) 把/boot目錄中的bzImage文件改名為“vmlinuz”。5) 把/usr/src/lin

27、ux/System.map文件拷貝到/boot目錄。6) 把路徑切換回/usr/src/LINUX_PATH目錄。7) “make module_install”命令把內(nèi)核模塊存放到相應(yīng)的位置。8) 如果SCSI硬盤(pán)要確保SCSI模塊能夠被及時(shí)加載。輸入“ mkinitrd /boot/initrd-version-ext version-ext”命令確保SCSI模塊在引導(dǎo)過(guò)程中能夠被及時(shí)加載。9) 拷貝initrd-version.img到/boot目錄,輸入“mkinitrd /boot/initrd-version.img version-ext”命令建立一個(gè)RAM盤(pán),它將在開(kāi)機(jī)引導(dǎo)啟動(dòng)

28、過(guò)程中加載,然后再?gòu)臋C(jī)器中被刪除10) 配置LILO32Acegene IT Co. Ltd.4.2 使用RPM包升級(jí)內(nèi)核的步驟從Red Hat公司的Web升級(jí)站點(diǎn)下載內(nèi)核軟件包,按照下面的方法進(jìn)行操作:1) 以根用戶(hù)身份登錄進(jìn)入系統(tǒng)。2) 使用rpm命令升級(jí)下載的非內(nèi)核文件,輸入“ rpm -Uvh packagename”命令。警告千萬(wàn)要在手邊準(zhǔn)備好一張引導(dǎo)啟動(dòng)盤(pán)以防新的內(nèi)核出現(xiàn)問(wèn)題。3) 為確保不出現(xiàn)問(wèn)題,最好安裝一個(gè)新內(nèi)核,而不是簡(jiǎn)單的升級(jí)。安裝內(nèi)核文件需要輸入“rpm -ivh packagename”命令。4) 從/boot目錄中查看當(dāng)前內(nèi)核的名稱(chēng)是什么。格式應(yīng)該是“/boot/v

29、mlinuz-version-ext”5) 輸入“mkinitrd /boot/initrd-version.img version-ext”命令建立一個(gè)RAM盤(pán),它將在開(kāi)機(jī)引導(dǎo)啟動(dòng)過(guò)程中加載,然后再?gòu)臋C(jī)器中被刪除。7) 配置LILO33Acegene IT Co. Ltd.4.2 配置LILO1) 以根用戶(hù)身份登錄進(jìn)入系統(tǒng)。2) 使用“vi /etc/lilo.conf”之類(lèi)的命令打開(kāi)/etc/lilo.conf文件。3) 除了被升級(jí)的部分,文件中新的數(shù)據(jù)段必須和用戶(hù)當(dāng)前運(yùn)行的舊版本的有關(guān)內(nèi)容保持一致。舉例來(lái)說(shuō),用戶(hù)原來(lái)的數(shù)據(jù)可能是如下所示的樣子:image = /boot/vmlinuz-

30、2.2.5-15label =linuxroot = /dev/hda1initrd = /boot/initrd-2.2.54) 把光標(biāo)移動(dòng)到以“image”字樣開(kāi)頭的那一行。5) 輸入“4yy”拷貝4行文本到緩沖區(qū)。6) 按下“G”鍵前進(jìn)到文件末尾。7) 按下“o”鍵在文件末尾插入一個(gè)新的文本行。8) 按下ESC鍵返回到命令模式。9) 按下“p”鍵把拷貝的文本復(fù)制到/etc/lilo.conf文件的末尾。10) 在新的語(yǔ)句中做必要的修改。比如說(shuō),把2.2.5-15修改為2.2.5-25等等。initrd項(xiàng)的數(shù)據(jù)根據(jù)版本之間差異的大小可以修改也可以不改。11) 再回到原始數(shù)據(jù)段部分,把它的l

31、abel項(xiàng)改為“ linuxold”之類(lèi)的東西,這樣用戶(hù)就可以把這兩個(gè)數(shù)據(jù)段區(qū)分開(kāi)了。12) 輸入“:wq”保存文件并退出編輯器程序。13) 輸入“/sbin/lilo -v”命令執(zhí)行LILO程序,讓新設(shè)置生效。14) 重新啟動(dòng)34Acegene IT Co. Ltd.5 加載核心模塊安裝模塊:insmod .omodprobe 列出已經(jīng)安裝的模塊:lsmod cat /proc/modules每一個(gè)已經(jīng)安裝的內(nèi)核版本都應(yīng)該有一個(gè)對(duì)應(yīng)的目錄。把路徑切換到當(dāng)前運(yùn)行內(nèi)核對(duì)應(yīng)的目錄中。35Acegene IT Co. Ltd.5 卸載模塊卸載模塊rmmod 只對(duì)idle和不再使用的模塊起作用如果機(jī)器

32、警告有其他的模塊依賴(lài)于想要?jiǎng)h除的這個(gè),但你還是想刪除它的話,可以使用rmmod -r modulename36Acegene IT Co. Ltd.5 檢查壞的模塊(Tainted Kernel)Use the /sbin/lsmod command to see whether the kernel is tainted:# /sbin/lsmod Module Size Used by Not tainted nfs 87936 0 (autoclean) lockd 60224 0 (autoclean) nfs sunrpc 79952 0 (autoclean) nfs lockd

33、iptable_filter 2912 0 (autoclean) (unused) ip_tables 14080 1 iptable_filter ad1848 23968 0 cs4232 ext3 70240 5 jbd 51004 5 ext36 核心參數(shù)Control dynamic kernel configuration / tuningMost parameters can be changed on the fly!Can be set multiple ways:In /etc/sysctl.conf: (Recommended)fs.aio-max-size=10485

34、76In /etc/rc.local (RH) or /etc/boot.local (SUSE):echo 1048576 /proc/sys/fs/aio-max-sizeUsing sysctl:sysctl w fs.aio-max-size=1048576Will be lost on reboot if not in /etc/sysctl.conf38Acegene IT Co. Ltd.6 shmfsMount tmpfs on /dev/shm via fstabOption “size=8g” means 8GBOption “size=?” can be larger t

35、han physical RAMRequired by Oracle for VLM modeOnly used for buffer cacheNever used in non-VLM mode39Acegene IT Co. Ltd.6 IA-32系統(tǒng)上使用超過(guò)4g內(nèi)存Bigpages (x86)Separate memory pool using large hw pagesNon-swappableMust be set aside at boot timeBoot with kernel parameter “bigpages=8192MB”Use Workaround in bu

36、g 3080838To prevent Kernel panic in sshd_config set:UsePrivilegeSeparation no -OR-Compression no (preferred)Hugetlbfs (RHEL)Similar to bigpages but, configured at runtime, no need to reboot:Shutdown instance (free memory)echo 600 /proc/sys/vm/hugetlb_poolAsk for 600MBcat /proc/sys/vm/hugetlb_poolVer

37、ify you got 600MB, if not might need to rebootStartup instanceVerify usage in /proc/meminfo40Acegene IT Co. Ltd.6 參數(shù): 異步IO - async io requests/proc/sys/fs/aio-max-sizeMax size of data passed to driver at onceRequests larger than this will be broken upNext chunk will not be submitted until the previo

38、us one has completedDefault value: 131072 Unit: bytes/proc/sys/fs/aio-max-nrMax number of aio requests system-wideLimits number of structures allocated, not the number of requests in flight!Each Oracle process allocates 1024Default value: 65536Unit: count41Acegene IT Co. Ltd.6 參數(shù): 共享內(nèi)存/proc/sys/kern

39、el/shmmaxMax size of a single shared memory segmentSmaller values mean more segments neededDefault value: 33554432Unit: bytesMaximum allowed: 4GB - 1 (4294967295)/proc/sys/kernel/shmallMax amount of shared memory system-wideDefault: 2097152Unit: ?/proc/sys/kernel/shm-use-bigpagesAllowed values:0: do

40、nt use bigpages pool for shared memory1: use bigpages pool for SysV shared memory2: use bigpages pool for SysV and shmfsDefault value: 0Use Workaround in bug 3080838To prevent Kernel panic in sshd_config set:UsePrivilegeSeparation no -OR-Compresson no (preferred)42Acegene IT Co. Ltd.6 RHEL Kernel Ty

41、pes (IA-32)Choose the right kernel“smp”: 2-level page tablesHW can only address 4GB of RAM4kB pages and 4MB “l(fā)arge” pages“enterprise”: 3-level page tablesHW can address up to 64GB of RAM4kB pages and 2MB “l(fā)arge” pagesRHEL2.1: max 16GB RAM supportedSLES8: 64GB officially supportedKernel# CPUsRAMStandard14 GBSMPMulti4 GBEnterpriseMulti 4 GB43Acegene IT Co. Ltd.6 進(jìn)程地址空間 (IA-32

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論