小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux運(yùn)維工程師筆試題

 java_laq小館 2013-09-29


Linux運(yùn)維工程師筆試題

一、基本知識題(共10題,每題3分)

1、用什么命令查詢指定IP地址的服務(wù)器端口?


1
yuminstall-y nmap


2
、用什么命令定義某個程序執(zhí)行的優(yōu)先級別?

1
nice  renice


3
、如何讓history命令顯示具體時間?

1
2
3
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
export HISTTIMEFORMAT
重新開機(jī)后會還原,可以寫/etc/profile


1
 

4、查看Linux系統(tǒng)當(dāng)前指定用戶的郵件隊列命令是?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@test4 ~]# mailq
[root@test4 ~]# mail -u root
Heirloom Mail version 12.4 7/29/08.Type ? for help.
"/var/mail/root": 9 messages 8unread
1AnacronTue Jun 1806:4018/625"Anacron job 'cron.daily' ontest4.wolf.org"
>U2 AnacronWed Jun 1914:2918/624"Anacron job 'cron.daily' on test4.wolf.org"
U3AnacronThu Jun 2013:3618/624"Anacron job 'cron.daily' ontest4.wolf.org"
& 1
Message1:
From root@test4.wolf.orgTue Jun 18 06:40:09 2013
Return-Path: <root@test4.wolf.org>
X-Original-To: root
Delivered-To: root@test4.wolf.org
From: Anacron <root@test4.wolf.org>
To: root@test4.wolf.org
Content-Type: text/plain;charset="ANSI_X3.4-1968"
Subject: Anacron job 'cron.daily' ontest4.wolf.org
Date: Tue, 18 Jun 2013 06:40:09 -0700 (PDT)
Status: RO
/etc/cron.daily/mlocate.cron:
/usr/bin/updatedb: can not open`/etc/updatedb.conf': Permission denied


5、查看Linux系統(tǒng)當(dāng)前加載的庫文件?

1
lsof


6.Ext4文件系統(tǒng)如何恢復(fù)rm命令刪除文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Linux下刪除文件并不是真實的刪除磁盤分區(qū)中的文件,而是將文件的inode節(jié)點中的扇區(qū)指針清除,同時釋放這些數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊,當(dāng)釋放的數(shù)據(jù)塊被系統(tǒng)重新分配時,那些被刪除的數(shù)據(jù)就會被覆蓋,所以誤刪除數(shù)據(jù)后,應(yīng)馬上卸載文件所在的分區(qū)。
每 個文件有inode和block組成,inode是文件系統(tǒng)組成的最基本單元,它保存著文件的基本屬性(大小、權(quán)限、屬主組等)和存放的位置信息。而 block用來存儲數(shù)據(jù)。類似key-value,inode就是key,block對應(yīng)value,通過key查找key對應(yīng)的value。類似 python的字典。
必須先umount要恢復(fù)文件的分區(qū)或者把分區(qū)改為只讀模式,命令:mount –o remount,ro 分區(qū)(例如:dev/hda1)
或者
mount -n -r -o remount /dba1  最好盡快將所在分區(qū)修改為只讀方式,防止數(shù)據(jù)被覆蓋使用。
linux下面查看文件系統(tǒng)的方法有:
1、mount命令
#mount
/dev/sda1 on / type ext4
表示sda1 的文件系統(tǒng)是ext4 類型的。
2、命令df
# df -Th
Filesystem    Type   Size  Used Avail Use% Mounted on
/dev/sda1     ext4     13G  7.6G  4.2G 65% /
df 的-T參數(shù)就可以顯示文件系統(tǒng)的類型,-h參數(shù)讓其顯示的更人性化。
3、命令  more /etc/fstab
# more /etc/fstab 通過配置文件查看
軟件下載:
wget http://sourceforge.net/projects/extundelete/files/extundelete/0.2.0/extundelete-0.2.0.tar.bz2/download
安裝軟件:
yum install e2fsprogs-devel  libcom_err-devel -y
tar -jxfextundelete-0.2.0.tar.gbz2
1.cdextundelete-0.2.0
2../configure
3.make
4.makeinstall
執(zhí)行恢復(fù)動作:
單個文件的恢復(fù):extundelete /dev/sdaX --restore-file /*/*....*/file
目錄恢復(fù):extundelete /dev/sdaX --restore-directory /*/*....*/dir
恢復(fù)近期被刪的所有東西:extundelete /dev/sdaX --restore-all


7
、使用tcpdump監(jiān)聽主機(jī)IP192.168.1.1,tcp端口為80的數(shù)據(jù),同時將結(jié)果保存輸出到tcpdump.log,請寫出相應(yīng)命令。

1
[root@test4 ~]# tcpdump tcp port 80andhost 192.168.46.128 –w/root/sss


8
、簡述IDS作用和實現(xiàn)原理。

1
入侵檢測,設(shè)備放在intelnet進(jìn)來的第一臺路由后面。對進(jìn)入路由的所有的包進(jìn)行檢測,如果有異常就報警。



9
、用sed修改test.txt23testtset;

1
sed ‘23s/test/tset/g ’ test.txt


10、一個EXT3的文件分區(qū),當(dāng)使用touchtest.file命令創(chuàng)建一個新文件時報錯,報錯的信息是提示磁盤已滿,但是采用df -h命令查看磁盤大約只使用了60%的磁盤空間,為什么會出現(xiàn)這個情況,說說你的理由。

1
2
1,用戶磁盤配額的問題
2,ext3文件系統(tǒng)設(shè)計的時候不適合很多小文件和大文件一樣的文件格式,很多小文件會導(dǎo)致inode耗盡


11、當(dāng)用戶在瀏覽器當(dāng)中輸入一個網(wǎng)站,說說計算機(jī)對dns解釋經(jīng)過那些流程?(注:本機(jī)跟本地dns還沒有緩存)

1
2
3
4
5
6
7
a.用戶輸入網(wǎng)址到瀏覽器
b.瀏覽器發(fā)出DNS請求信息
c.計算機(jī)首先查詢本機(jī)HOST文件,看是否存在,存在直接返回結(jié)果,不存在,繼續(xù)下一步
d.計算機(jī)通過/etc/resolv.conf按照本地DNS的順序,向合法dns服務(wù)器查詢IP結(jié)果,
e.合法dns返回dns結(jié)果給本地dns,本地dns并緩存本結(jié)果,直到TTL過期,才再次查詢此結(jié)果
f.返回IP結(jié)果給瀏覽器
g.瀏覽器根據(jù)IP信息,獲取頁面


12.DNS服務(wù)器有哪三種類型

1
主   從   緩存


二、簡述題(共10題,每題7分)

1、linux下如何改IP,主機(jī)名,DNS

1
2
3
[root@test4 ~]#vim/etc/sysconfig/network-scripts/ifcfg-eth0
[root@test4 ~]#vim/etc/sysconfig/network
[root@test4 ~]# vim/etc/resolv.conf


2、用shell統(tǒng)計ip訪問情況,要求分析nginx訪問日志,找出訪問頁面數(shù)量在前10位的IP數(shù)。以下是nginx的訪問日志節(jié)選

202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"

請寫shell實現(xiàn)輸出top10IP列表。

1
2
[root@test4logs]# awk '{print $1}' access.log |sort|uniq -c |head -n 10
31 192.168.46.1



3、簡述linux下編譯內(nèi)核的意義與步驟

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
編譯內(nèi)核的意義在于讓硬件設(shè)備更穩(wěn)定的發(fā)揮其應(yīng)有的效能;
新內(nèi)核可以在http://www.kernel.org下載。
先把linux-2.6.18.2.tar.bz2 復(fù)制到/usr/src/的下面
tar –jxvf  linux-2.6.18.2.tar.bz2
cd linux-2.6.18.2
make mrproper把原來編譯產(chǎn)生的垃圾刪除
配置內(nèi)核可以根據(jù)需要與愛好使用下面命令中的一個:
#make config (基于文本的最為傳統(tǒng)的配置界面)
#make menuconfig (基于文本選單的配置界面)
#make xconfig (基于圖形窗口模式的配置界面)
#make oldconfig (如果只想在原來內(nèi)核配置的基礎(chǔ)上修改一些小地方,會省去不少麻煩)
進(jìn)行配置時,大部分選項可以使用其缺省值,只有小部分需要根據(jù)用戶不同的需要選擇。例如,如果需要內(nèi)核支持DOS分區(qū)的文件系統(tǒng),則要在文件系統(tǒng)部分選擇FAT或DOS系統(tǒng)支持;系統(tǒng)如果配有網(wǎng)卡、PCMCIA卡等,需要在網(wǎng)絡(luò)配置中選擇相應(yīng)卡的類型。
選擇相應(yīng)的配置時,有三種選擇,它們分別代表的含義如下:
 “Y”-將該功能編譯進(jìn)內(nèi)核
 “N”-不將該功能編譯進(jìn)內(nèi)核
 “M”-將該功能編譯成可以在需要時動態(tài)插入到內(nèi)核中的模塊。
將與核心其它部分關(guān)系較遠(yuǎn)且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊,有利于減小內(nèi)核的長度,減小內(nèi)核消耗的內(nèi)存,簡化該功能相應(yīng)的環(huán)境改變時對內(nèi)核的影響。許多功能都可以這樣處理,例如像上面提到的網(wǎng)卡的支持、對FAT等文件系統(tǒng)的支持。
其實現(xiàn)在編譯內(nèi)核最關(guān)鍵的地方就是配置內(nèi)核。我一般用make menuconfig配置內(nèi)核。
配置2.6.0內(nèi)核時如果你的主板是Intel芯片的話,你用默認(rèn)配制也許就可以得到一個滿意的內(nèi)核哦。做法是make  menuconfig后離開時選擇保存。
這里的難點是pci,如果你硬盤是IDE的那一定要選擇好你主板上南橋芯片。SCSI的話就是要選擇上你的SCSI卡型號。
還有就是網(wǎng)卡,聲卡芯片的型號了,他們的型號你都可以用lspci 查找到比如我的是。
[root@leo boot]# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0f.0 VGA compatible controller: VMware Inc [VMware SVGA II] PCI Display Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
00:12.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)
編譯配置
在這一部分涉及幾個重要模塊的配置請,特別注意.一般用"make menuconfig"命令來配置內(nèi)核.
輸入以上命令后出現(xiàn)一個菜單界面,用戶可以對需要的模塊.下面著重講幾個重要的配置
1)文件系統(tǒng)
請務(wù)必要選中ext3文件系統(tǒng),
File systems--->
[*] Ext3 journalling file system support
[*] Ext3 Security Labels
[*] JBD (ext3) debugging support
  以上三項一定要選上,而且要內(nèi)建(即 標(biāo)*). 這個非常重要,在配置完后一定要檢查一下.config文件有沒有"CONFIG_EXT3_FS=y"這一項. 如果不 是"CONFIG_EXT3_FS=y"而是"CONFIG_EXT3_FS=m",你在運(yùn)行內(nèi)核時就會遇上以下錯 誤: pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed
2)網(wǎng)卡驅(qū)動
  請務(wù)必把自己網(wǎng)卡對應(yīng)的驅(qū)動編譯進(jìn)內(nèi)核,比較普遍的網(wǎng)卡是realtek 8139,以下就是這種網(wǎng)卡的配置,以供參考
Device Drivers--->
Networking support--->
Ethernet (10 or 100Mbit) --->
<*> RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)
<*> RealTek RTL-8139 PCI Fast Ethernet Adapter support
3)聲卡驅(qū)動
  也要選擇自己聲卡對應(yīng)的驅(qū)動編譯進(jìn)內(nèi)核,比較普遍的聲卡是i810_audio,以下就是這種聲卡的配置,以供參考
Device Drivers --->
Sound --->
<*> Sound card support
Advanced Linux Sound Architecture --->
<*> Advanced Linux Sound Architecture
<*> Sequencer support
< > Sequencer dummy client
<*> OSS Mixer API
<*> OSS PCM (digital audio) API[*] OSS Sequencer API
<*> RTC Timer support
PCI devices --->
<*> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111
Open Sound System --->
< > Open Sound System (DEPRECATED)
以上三項配置關(guān)系到新內(nèi)核能否正常運(yùn)行,請備加注意.其他的配置如果不是很了解,大可以按默認(rèn)的選擇.
#make dep (確保關(guān)鍵文件在正確的位置) 2.5.*-2.6.0都不需要了。其實2.4.*某些內(nèi)核也不需要了。
#make clean (確保所有有關(guān)文件都處于最新版本狀態(tài))
#make zImage (編譯壓縮形式的內(nèi)核)
在需要內(nèi)核支持較多的外設(shè)和功能時,內(nèi)核可能變得很大,此時可以編譯大內(nèi)核:
#make bzImage
編譯的時間與機(jī)器的硬件條件及內(nèi)核的配置等因素有關(guān),所獲得的內(nèi)核的位置在/usr/src/linux/arch/i386/boot目錄下,當(dāng)然這里假設(shè)用戶的CPU是x86型的。
如果選擇了可加載模塊,編譯完內(nèi)核后,要對選擇的模塊進(jìn)行編譯:
#make modules (編譯選擇的模塊)
#make module_install (將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置)
# make install
上面的命令"make install"將:
 (1)把壓縮內(nèi)核映象拷貝到/boot目錄下, 并創(chuàng)建相應(yīng)的System.map符號鏈接;
 (2)修改bootloader的配置文件;
 (3)調(diào)用mkinitrd程序創(chuàng)建內(nèi)核的initrd映象. 對于GRUB而言, 將在/boot/grub/grub.conf配置文件增加如下類似的配置行:
      title Red Hat Linux (2.***)
      root(hd0, 1)
      kernel /boot/vmlinuz-2.*** ro root=LABEL=/
      initrd /boot/initrd-2.***.img
模 塊在系統(tǒng)中的標(biāo)準(zhǔn)目錄位于/lib/modules/x.y.z,后面的x.y.z是版本號,為安全起見,在運(yùn)行#make  modules_install之前最好對/lib/modules進(jìn)行備份。模塊通常是帶有擴(kuò)展名.o的文件,使用命令#lsmod可以對當(dāng)前內(nèi)核的模 塊進(jìn)行列表。
我一般是make bzImage;make modules;make module_install; make install
運(yùn)行新內(nèi)核之前,請檢查一下/boot/grub/grub.conf的內(nèi)容,下面的配置可作參考
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.18.2)
        root (hd0,0)
        kernel /vmlinuz-2.6.18.2 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18.2.img
title Fedora Core (2.6.18-1.2798.fc6)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-1.2798.fc6.img
現(xiàn)在重啟機(jī)器,即可測試最新的內(nèi)核。



4、簡述Linux啟動過程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
計 算機(jī)開機(jī)是一個神秘的過程。我們只是按了開機(jī)鍵,就看到屏幕上的進(jìn)度條或者一行行的輸出,直到我們到達(dá)登錄界面。然而,計算機(jī)開機(jī)又是個異常脆弱的過程, 我們滿心期望的登錄界面可能并不會出現(xiàn),而是一個命令行或者錯誤信息。了解計算機(jī)開機(jī)過程有助于我們修復(fù)開機(jī)可能出現(xiàn)的問題。
1) 最初始階段:
當(dāng) 我們打開計算機(jī)電源,計算機(jī)會自動從主板的BIOS(Basic Input/OutputSystem)讀取其中所存儲的程序。這一程序通常知道一些直接連接在主板上的硬件(硬盤,網(wǎng)絡(luò)接口,鍵盤,串口,并口)?,F(xiàn)在 大部分的BIOS允許你從軟盤、光盤或者硬盤中選擇一個來啟動計算機(jī)。
下一步,計算機(jī)將從你所選擇的存儲設(shè)備中讀取起始的512 bytes(比如光盤一開是的512 bytes,如果我們從光盤啟動的話)。這512 bytes 叫做主引導(dǎo)記錄MBR (masterboot record)。MBR會告訴電腦從該設(shè)備的某一個分區(qū)(partition)來裝載引導(dǎo)加載程序(boot loader)。Boot loader儲存有操作系統(tǒng)(OS)的相關(guān)信息,比如操作系統(tǒng)名稱,操作系統(tǒng)內(nèi)核(kernel)所在位置等。常用的boot loader有GRUB和LILO。
隨 后,boot loader會幫助我們加載kernel。kernel實際上是一個用來操作計算機(jī)的程序,它是計算機(jī)操作系統(tǒng)的內(nèi)核,主要的任務(wù)是管理計算機(jī)的硬件資 源,充當(dāng)軟件和硬件的接口。操作系統(tǒng)上的任何操作都要通過kernel傳達(dá)給硬件。Windows和Linux各自有自己kernel。狹義的操作系統(tǒng)就 是指kernel,廣義的操作系統(tǒng)包括kernel以及kernel之上的各種應(yīng)用。
(Linus Torvalds與其說是Linux之父,不如說是Linux kernel之父。他依然負(fù)責(zé)Linux kernel的開發(fā)和維護(hù)。至于Ubuntu, Red Hat, 它們都是基于相同的kernel之上,囊括了不同的應(yīng)用和界面構(gòu)成的一個更加完整的操作系統(tǒng)版本。)
實際上,我們可以在多個分區(qū)安裝boot loader,每個boot loader對應(yīng)不同的操作系統(tǒng),在讀取MBR的時候選擇我們想要啟動的boot loader。這就是多操作系統(tǒng)的原理。
小結(jié):BIOS -> MBR ->boot loader -> kernel
2) kernel
如 果我們加載的是Linux kernel,Linux kernel開始工作。kernel會首先預(yù)留自己運(yùn)行所需的內(nèi)存空間,然后通過驅(qū)動程序(driver)檢測計算機(jī)硬件。這樣,操作系統(tǒng)就可以知道自己 有哪些硬件可用。隨后,kernel會啟動一個init進(jìn)程。它是Linux系統(tǒng)中的1號進(jìn)程(Linux系統(tǒng)沒有0號進(jìn)程)。到此,kernel就完成了在計算機(jī)啟動階段的工作,交接給init來管理。
小結(jié): kernel -> init process
3) initprocess
(根據(jù)boot loader的選項,Linux此時可以進(jìn)入單用戶模式(singleuser mode)。在此模式下,初始腳本還沒有開始執(zhí)行,我們可以檢測并修復(fù)計算機(jī)可能存在的錯誤)
隨后,init會運(yùn)行一系列的初始腳本(startup scripts),這些腳本是Linux中常見的shell scripts。這些腳本執(zhí)行如下功能:
設(shè)置計算機(jī)名稱,時區(qū),檢測文件系統(tǒng),掛載硬盤,清空臨時文件,設(shè)置網(wǎng)絡(luò)……
當(dāng)這些初始腳本,操作系統(tǒng)已經(jīng)完全準(zhǔn)備好了,只是,還沒有人可以登錄!??!init會給出登錄(login)對話框,或者是圖形化的登錄界面。
輸入用戶名(比如說vamei)和密碼,DONE!
在此后的過程中,你將以用戶(user)vamei的身份操作電腦。此外,根據(jù)你創(chuàng)建用戶時的設(shè)定,Linux還會將你歸到某個組(group)中,比如可以是stupid組,或者是vamei組。
所以你將是用戶vamei,同時是vamei組的組員。(注意,組vamei和用戶vamei只是重名而已,就好想你可以叫Dell, 同時還是Dell公司的老板一樣。你完全也可以是用戶vamei,同時為stupid組的組員)
總結(jié):
BIOS ->MBR -> boot loader -> kernel -> init process -> login
用戶,組。




5.你說下你技術(shù)的強(qiáng)項和不足?


6.如果給你300臺服務(wù)器,你該怎么去管理?


7.在一個系統(tǒng)架構(gòu)中,我們?yōu)榱吮苊鈫吸c故障,會怎么做?

1
系統(tǒng)集群高可用


8 xen環(huán)境下,如何調(diào)整虛擬機(jī)內(nèi)存及vcpu數(shù)?

1
2
更改虛擬機(jī)分配的CPU數(shù)量。要更改此設(shè)置,既可以利用虛擬機(jī)管理器(Virtual Machine Manager)進(jìn)行,也可以使用xm vcpu-set命令。例如,將domain 1分配的VCPU數(shù)改為4個,則:
xm vcpu-set 1 4



9、簡述下一般調(diào)整哪些內(nèi)核參數(shù)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
linux 內(nèi)核參數(shù)調(diào)整說明
所有的TCP/IP調(diào)優(yōu)參數(shù)都位于/proc/sys/net/目錄。例如, 下面是最重要的一些調(diào)優(yōu)參數(shù), 后面是它們的含義:
1. /proc/sys/net/core/rmem_max — 最大的TCP數(shù)據(jù)接收緩沖。
2. /proc/sys/net/core/wmem_max — 最大的TCP數(shù)據(jù)發(fā)送緩沖。
3. /proc/sys/net/ipv4/tcp_timestamps — 時間戳在(請參考RFC 1323)TCP的包頭增加12個字節(jié)。
4. /proc/sys/net/ipv4/tcp_sack — 有選擇的應(yīng)答。
5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 如果TCP窗口最大超過65535(64KB), 必須設(shè)置該數(shù)值為1。
6. rmem_default — 默認(rèn)的接收窗口大小。
7. rmem_max — 接收窗口的最大大小。
8. wmem_default — 默認(rèn)的發(fā)送窗口大小。
9. wmem_max — 發(fā)送窗口的最大大小。
/proc目錄下的所有內(nèi)容都是臨時性的, 所以重啟動系統(tǒng)后任何修改都會丟失。
建議在系統(tǒng)啟動時自動修改TCP/IP參數(shù):
把下面代碼增加到/etc/rc.local文件, 然后保存文件, 系統(tǒng)重新引導(dǎo)的時候會自動修改下面的TCP/IP參數(shù):
echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
TCP/IP參數(shù)都是自解釋的, TCP窗口大小設(shè)置為256960, 禁止TCP的時間戳(取消在每個數(shù)據(jù)包的頭中增加12字節(jié)), 支持更大的TCP窗口和TCP有選擇的應(yīng)答。
上面數(shù)值的設(shè)定是根據(jù)互連網(wǎng)連接和最大帶寬/延遲率來決定。
注: 上面實例中的數(shù)值可以實際應(yīng)用, 但它只包含了一部分參數(shù)。
另外一個方法: 使用 /etc/sysctl.conf 在系統(tǒng)啟動時把參數(shù)配置成您所設(shè)置的值:
net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1
設(shè)置Linux內(nèi)核參數(shù)
配置 Linux 內(nèi)核參數(shù)(2種方法),修改后不用重啟動更新: /sbin/sysctl -p
第一種:打開/etc/sysctl.conf 復(fù)制如下內(nèi)容
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
第二種:打開終端
cat >> /etc/sysctl.conf<
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
這里,對每個參數(shù)值做個簡要的解釋和說明。
1)shmmax:該參數(shù)定義了共享內(nèi)存段的最大尺寸(以字節(jié)為單位)。缺省為32M,對于oracle來說,該缺省值太低了,通常將其設(shè)置為2G。
2)shmmni:這個內(nèi)核參數(shù)用于設(shè)置系統(tǒng)范圍內(nèi)共享內(nèi)存段的最大數(shù)量。該參數(shù)的默認(rèn)值是 4096 。通常不需要更改。
3)shmall:該參數(shù)表示系統(tǒng)一次可以使用的共享內(nèi)存總量(以頁為單位)。缺省值就是2097152,通常不需要修改。
4)sem:該參數(shù)表示設(shè)置的信號量。
5)file-max:該參數(shù)表示文件句柄的最大數(shù)量。文件句柄設(shè)置表示在linux系統(tǒng)中可以打開的文件數(shù)量。
修改好內(nèi)核以后,執(zhí)行下面的命令使新的配置生效。
[root @linux1 /root]# /sbin/sysctl-p
以 root 用戶身份運(yùn)行以下命令來驗證您的設(shè)置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
如果系統(tǒng)的參數(shù)設(shè)置的比上述參數(shù)值小,則編輯/etc/sysctl.conf 文件,添加或更改這些參數(shù)。完成后,運(yùn)行以下命令激活更改:
/sbin/sysctl -p



10、最大打開文件數(shù)如何調(diào)整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
修改下Linux的配置:
修改 /etc/sysctl.conf,增加fs.file-max = 8061540
修改 /etc/security/limit.conf,增加 * soft 8192 和 * hard 16384
ulimit -n 4096
也就是限制用戶的最大文件打開數(shù)為4096
當(dāng)前設(shè)置最大打開文件數(shù)可以通過如下命令查看。
ulimit -n
這個數(shù)字說明了一個普通用戶能夠在一個單獨會話中所能打開最大的文件數(shù)目。注意。如果是root,以下操作不能使ulimit -n的輸出增加。因為用戶root用戶不受這個ulimit限制。只有普通用戶才會受這個限制。
為了提高最大打開文件數(shù)到默認(rèn)值1024以上,需要在系統(tǒng)上修改2個地方。在這個案例中,我們將最大打開文件數(shù)增加到2048。所有的步驟需要root用戶操作。普通用戶需要重新登錄才能使設(shè)置生效。
1. 按照最大打開文件數(shù)量的需求設(shè)置系統(tǒng),并且通過檢查/proc/sys/fs/file-max文件來確認(rèn)最大打開文件數(shù)已經(jīng)被正確設(shè)置。
# cat /proc/sys/fs/file-max
如果設(shè)置值太小,修改文件/etc/sysctl.conf的變量到合適的值。這樣會在每次重啟之后生效。如果設(shè)置值夠大,跳過下步。
# echo 2048 > /proc/sys/fs/file-max編輯文件/etc/sysctl.conf,插入下行。   fs.file-max = 2048
2. 在/etc/security/limits.conf文件中設(shè)置最大打開文件數(shù),下面是一行提示:
#<domain><type><item> <value>添加如下這行。
* – nofile 2048
這行設(shè)置了每個用戶的默認(rèn)打開文件數(shù)為2048。注意”nofile”項有兩個可能的限制措施。
就是<type>項下的hard和soft。要使修改過得最大打開文件數(shù)生效,必須對這兩種限制進(jìn)行設(shè)定。
如果使用”-”字符設(shè)定<type>, 則hard和soft設(shè)定會同時被設(shè)定。
硬限制表明soft限制中所能設(shè)定的最大值。 soft限制指的是當(dāng)前系統(tǒng)生效的設(shè)置值。
hard限制值可以被普通用戶降低。但是不能增加。 soft限制不能設(shè)置的比hard限制更高。只有root用戶才能夠增加hard限制值。
eg:
我在google上搜索過關(guān)于ulimit命令的一些用法,其中有
ulimit -n 4096
也就是限制用戶的最大文件打開數(shù)為4096
在網(wǎng)上查了關(guān)于怎么查看文件打開數(shù)的文章大致有兩種說法
/proc/sys/fs/file-nr
該文件與 file-max 相關(guān),它有三個值:
已分配文件句柄的數(shù)目
已使用文件句柄的數(shù)目
文件句柄的最大數(shù)目
該文件是只讀的,僅用于顯示信息。
[root@linux /]# cat /proc/sys/fs/file-max
8061540
[root@linux /]# cat /proc/sys/fs/file-nr
900 0 8061540
查看所有進(jìn)程的文件打開數(shù)
lsof |wc -l
查看某個進(jìn)程打開的文件數(shù)
lsof -p pid |wc -l
查看java進(jìn)程的PID
[root@linux /]# ps -ef |grep java
root 1040797800 14:50 pts/100:00:00 grep java
kill -9 9780 就能全部殺掉 java進(jìn)程。 pid 就是9780 。
[root@linux /]# lsof |wc -l
1238
[root@linux /]# lsof -p 9780 |wc -l
18

本文出自 “好好活著” 博客,轉(zhuǎn)載請與作者聯(lián)系!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多