實驗1 安裝Linux 系統_第1頁
實驗1 安裝Linux 系統_第2頁
實驗1 安裝Linux 系統_第3頁
實驗1 安裝Linux 系統_第4頁
實驗1 安裝Linux 系統_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗1 安裝Linux 系統1.1實驗目的學會安裝和配置Linux系統。1.2實驗要求1為Linux安裝預留硬盤分區。2正確建立Linux分區。3正確安裝、啟動和關閉Linux系統。1.3實驗步驟1.3.1安裝準備1準備安裝軟件(1)購買SuSE安裝光盤或下載SuSE安裝文件。(2)找到一張Windows引導光盤,為從硬盤安裝 SuSE做準備。2為Linux安裝預留硬盤分區為了能夠在一臺計算機同時安裝Windows和Linux兩個系統,需要先安裝Windows,但安裝時要在擴展分區為Linux預留1個分區(是否格式化都無所謂),Linux分區大小最少5G以上(最好10G以上)。例如,對于一個4

2、0G硬盤,主分區大小為10GB,擴展分區為30GB。可以劃分為三個分區:主分區C:為10GB,用于安裝Windows;第一個擴展分區D:為20GB,用于保存Windows文件;第二個擴展分區,即剩余的10GB空間留給安裝Linux系統使用。1.3.2從光盤安裝Linux系統用戶可以選擇從光盤安裝Linux系統,下面以安裝OpenSuSE10.2為例,介紹Linux系統的安裝和配置過程。1啟動安裝將計算機設置為光盤啟動,然后用第1張OpenSuSE10.2安裝光盤啟動。2建立Linux分區在安裝正式開始前,安裝程序需要用戶設置一些安裝信息,其中最重要的是建立Linux分區。一般來說Linux系統

3、需要一個swap分區、一個/boot分區、一個/usr分區、一個/home 分區和一個/var/log分區。為簡化安裝過程,我們在安裝時只需要建立兩個分區:一個/分區和一個swap分區。/分區中包含除swap分區以外的全部內容,swap分區是Linux臨時存儲數據并進行數據交換的分區。swap分區的大小至少要等于系統實際內存的容量,一般來說可以取內存容量的兩倍大小為宜。例如,如果系統內存容量為512MB,Linux分區大小為10GB,則可以設置/分區為9GB,swap分區為1GB。3以下的安裝步驟,用戶可以按照SuSE安裝程序的提示信息一步一步操作,直到完成SuSE的安裝。1.3.3從硬盤安裝

4、Linux系統用戶也可以選擇從硬盤安裝Linux系統,下面仍以OpenSuSE10.2為例,向大家介紹Linux的安裝過程。1在Windows中為SuSE建立一個安裝目錄,例如D:suse_install,并建立cd1、cd2、cd3、cd4、cd5五個子目錄。2從OpenSuSE10.2的五個安裝盤中找到相應的ISO光盤映像文件,用虛擬光驅把文件分別復制到suse_install目錄下的cd1、cd2、cd3、cd4、cd5五個子目錄中。3把suse_installcd1dosutilsloadlin目錄中的Loadlin.exe復制到suse_installcd1bootloader目錄中

5、。 4利用Windows引導光盤重啟計算機(計算機設置為光盤啟動),進入到DOS狀態,在suse_installcd1bootloader目錄中執行以下命令:loadlin linux append initrd=initrd vga=791 安裝方式選擇硬盤安裝,安裝路徑為suse_install/cd1,然后開始安裝Linux系統。注意:其中建立Linux分區的內容與1.3.2小節的內容相同。 5第1張光盤安裝完后,計算機會自動重啟,然后提示讓用戶插入第2張光盤,此時有兩種方法處理:點擊提示窗口中的“Show details”,將其中的路徑改為第2張光盤的路徑“dir:/mnt/win_d

6、/suse_install/cd2”,這種方法需要為每張光盤修改,所以要修改幾次。 按“Ctrl+Alt+F2”,運行系統管理程序YaST,選擇“softwareàChange Source of Install”,刪掉其中的路徑,然后再加入“dir:/mnt/win_d/suse_install/cd1”、“dir:/mnt/win_d/suse_install/cd2”、“dir:/mnt/win_d/suse_install/cd3”、“dir:/mnt/win_d/suse_install/cd4”、“dir:/mnt/win_d/suse_install/cd5”,退出Ya

7、ST程序。然后,執行“shutdown -r now”,系統重啟后,就會自動安裝下去了。1.3.4啟動和關閉Linux系統1啟動Linux系統SuSE安裝完成,重啟系統,啟動時會顯示一個多系統啟動選擇菜單,包括三個選項:OpenSUSE 10.2 Windows OpenSUSE 10.2(Failsafe)分別代表GUI方式SuSE、Windows和命令行方式SuSE三種系統啟動方式,缺省啟動的操作系統為第1項GUI方式SuSE。用戶也可以選擇其它兩個選項,分別啟動Windows和命令行方式SuSE。2改變系統啟動順序如果用戶想改變缺省啟動的操作系統為Windows,可以用root用戶進入L

8、inux,然后使用vi編輯程序,修改/boot/grub/menu.lst文件,把第1行default的值從0(代表OpenSUSE 10.2)改變為1(代表Windows)就可以了。3關閉或重啟Linux系統(1)Shutdown命令Shutdown是用來關閉Linux系統的命令。關閉或重啟Linux系統的操作只有管理員root用戶才有權執行。Linux系統在工作時會使用部分內存作緩存區,如果內存中的數據還沒有寫入硬盤,就把電源關掉,系統就會丟失數據。如果這些數據是和Linux系統本身相關的,那么就會對系統造成較大的損害。所以,在關機之前最好執行三次sync同步指令,如:# sync;syn

9、c;sync。以下是使用shutdown命令的一些實例:# shutdown  (系統會在2分鐘后關機,并發送一些消息給用戶)# shutdown h now  (系統立刻關機)# shutdown r now  (系統立刻重啟,相當于reboot)# shutdown h 20:25  (系統會在今天的20:25關機)# shutdown h +10    (系統會在10分鐘后關機)(2)halt命令輸入#halt命令,系統就會開始進入關閉過程,其效果和shutdown h now是完全一樣的。(3)reboot命令輸入#

10、reboot命令,系統就會將系統中的服務一個一個都關閉掉,然后系統開始重啟,再次進入Linux系統。實驗2 Linux 使用及Shell編程2.1實驗目的學會Linux系統的基本操作和常用命令,對Shell編程有初步了解。2.2實驗要求1能夠正確地登錄和退出Linux系統。2熟悉使用Linux常用命令。3能夠使用vi建立、編輯文件。4能夠建立Shell腳本程序并執行它。2.3實驗步驟2.3.1登錄和退出Linux系統1從Linux計算機登錄Linux系統不論是GUI方式或命令行方式的Linux,在登錄系統時,用戶都需要輸入注冊名和密碼,密碼驗證正確后,用戶登錄成功。2從Windows計算機登錄

11、Linux系統用戶不必為每臺計算機都安裝Linux系統,如果一臺已經安裝了Linux的計算機與其他的Windows計算機同在一個局域網內,并且Linux系統已經啟動,那么這些Windows計算機上的用戶就可以通過一個名為Putty的軟件(可以從網上下載)登錄到Linux系統。登錄方法:(1)啟動Putty,選擇“Session”;(2)在HostName(or IP address)字段內輸入Linux計算機的IP地址(可以在Linux系統中用# ifconfig eth0命令獲得);(3)點擊open按鈕,就可以連接Linux計算機;(4)輸入用戶注冊名和密碼,登錄Linux系統。3修改用戶

12、密碼用戶在使用Linux系統過程中,如果需要,可以使用passwd命令修改自己的用戶登錄密碼。注意:普通用戶只能修改自己的密碼,管理員root用戶可以設置任何用戶的密碼。4退出Linux系統:用戶可以輸入logout或exit或按Ctrl-D,退出Linux系統。2.3.2 Linux常用命令下面列出在Linux系統中使用頻率最高的10個命令,希望大家學會初步使用。Linux系統其他命令參加附錄B。序號命令序號命令1cat:顯示文件內容6ls:列出目錄信息2cd:改變目錄路徑7more:分頁顯示文件內容3cp:復制文件8rm:刪除文件或目錄4cp:復制文件9vi:vi屏幕編輯程序5grep:搜

13、索、過濾信息10who:顯示登錄用戶信息2.3.3 vi基本操作vi是Linux最基本的文本編輯工具,功能強大并且非常高效。1進入vi格式1:$ vi 文件名,創建新文件或編輯舊文件。格式2:$ vi 創建新文件,在保存時再指定文件名。2vi命令列表類型命令光標移動命令PgUp屏幕往下(往前)滾動PgDn屏幕往上(往后)滾動G光標移至文件的最后一行5G 光標移至第五行行首0光標移至當前行行首 光標移至當前行行尾H光標移至屏幕的最上一行M 光標移至屏幕中部L光標移至屏幕最下面一行w 光標右移一個單詞3w 光標右移三個單詞b光標左移一個單詞3b 光標左移三個單詞插入命令a把文本添加在光標之后A把文

14、本添加至行尾i把文本插入在光標之前I把文本插入在行首o在光標所在行下面打開新行,并輸入文本O 在光標所在行上面打開新行,并輸入文本(注:正文輸入結束后,需要按ESC鍵退出輸入方式)刪除命令x刪除光標位置的字符dw 刪除光標位置的單詞dd 刪除光標所在行4dd 從光標所在行開始刪除四行D從光標所在行光標位置刪除至行尾D0 從光標所在行光標位置刪除至行首DG 從光標所在行刪除至文件尾修改命令cw 修改一個單詞c3w 修改三個單詞r在光標所在位置替換一個字符R替換若干字符拷貝、粘貼命令Y拷貝當前行至緩沖區5Y 拷貝自當前行開始的五行至緩沖區p將緩沖區內容拷貝至光標后的行P將緩沖區內容拷貝至光標前的行

15、查找、替換命令字符串往前查找字符串? 字符串往后查找字符串:s/old/new將當前行中第一個字符串old改為new:s/old/new/g將當前行中的所有字符串old改為new:3,9s/old/new將第3-9行中的第一個字符串old改為new:1,$s/old/new將所有行中的第一個字符串old改為new:1,$s/old/new/g將所有行中的所有字符串old改為new存盤命令:w存盤:w file寫入文件file:w >>file寫入到文件file原有內容之后其他命令J將下一行與當前行合并成一行u取消上一次命令操作 重復上一次命令操作G 顯示文件的有關信息3退出vi&#

16、216; 輸入:wq或ZZ命令,存盤并退出vi。Ø 輸入:q命令,不存盤退出vi。Ø 輸入:q!命令,不存盤強行退出vi,放棄編輯緩沖區的內容。2.3.4 Shell編程1Shell命令格式(1)命令格式:command -options arg1 arg2其中:command是Shell命令名,arg1 arg2是Shell命令的參數列表。(2)Shell命令舉例Ø 單一命令:$ who Ø 連續執行多個命令:$ date; who Ø 多個命令輸出送入管道:($ date;who)| wc Ø 后臺命令:$ (sleep 300;

17、 echo Tea is ready) & 2Shell變量變量含義變量含義$USER登錄用戶名$shell運行的Shell類型$HOME用戶注冊目錄$0Shell命令本身$PATH命令訪問路徑$1 $9第19個Shell命令參數$PS1第一提示符$#Shell命令參數個數$PS2第二提示符$?Shell命令返回值(0:成功)$TERM終端類型$當前Shell進程的pid3Shell的基本語法(1) if條件語句格式: if條件 then 條件為真時的命令串 else 條件為假時的命令串 fi(2) case條件語句格式: case 變量名 in 數值1) 若干命令行1 ; 數值2)

18、若干命令行2 ; *) 其他命令行 esac(1) for循環語句格式: for變量名in數值列表 do 若干命令行 done(2) while循環語句格式: while條件 do 若干命令行 done注:條件為真時執行循環語句.(3) until循環語句格式: until條件 do 若干命令行 done注:條件為假時執行循環語句.(4) break和continue語句格式:n break:立即終止當前循環的執行。n contiune:不執行循環中后面的語句而立即開始下一個循環的執行。注:這兩個語句只有放在循環語句的do和done之間才有效.4Shell腳本文件的建立和執行(1)創建Shel

19、l腳本文件Ø 創建文件:$ echo who | wc l >nu 或$ vi nuØ 查看Shell腳本文件$ cat nuwho | wc l$(2)為Shell腳本文件增加執行權限$ chmod +x nu$ ls l-rwxr-xr-x nu$ (3)執行Shell腳本文件方法一:$ sh<nu方法二:$ sh nu方法三:$ nu 或 $ ./nu實驗3 進程管理3.1實驗目的1加深對進程概念的理解,尤其是進程的動態性、并發性。2了解進程如何被創建和終止。3學會查看進程的狀態信息。4學會使用進程管理命令。5學會在后臺運行進程。3.2實驗要求1理解有關進

20、程的概念,能用ps命令列出系統中進程的有關信息,并進行分析。2理解進程的創建及族系關系。3能使用&,jobs,bg,at等命令控制進程的運行。4了解終止進程的方法。3.3實驗步驟3.3.1觀察進程狀態1輸入ps命令觀察用戶自己的進程的狀態。$ ps PID TTY TIME CMD 587 ttyp0 00:00:00 sh 610 ttyp0 00:00:00 ps其中: PID進程的標識號(ID)。 TTY該進程所在的控制終端。 TIME該進程累計執行的時間,即占用CPU的時間,以hh:mm:ss格式表示。 CMD表示該進程所對應的命令。說明:每個進程有唯一的PID號,并且每個進程

21、的PID號都不相同。如果用戶在不同時間輸入同一個命令,它們的PID也不相同。這是由于Linux命令是通過進程完成的。在不同時間運行相同命令,系統會建立不同的進程。不同進程的TTY標識符可以相同,表明這些進程都是在同一個終端上建立的。盡管用戶注冊進入系統已經有一段時間,而且輸入命令也用去不少時間,但各進程只占用很少的CPU時間。用戶輸入的命令名就是相應的進程名,即:命令的執行是通過建立并運行相應的進程實現的。2輸入ps e命令,可以顯示系統中運行的所有進程,包括系統進程和用戶進程。$ ps -e PID TTY TIME CMD 0 ? 00:00:00 sched 1 ? 00:00:00 i

22、nit 2 ? 00:00:00 vhand 3 ? 00:00:00 bdflush 350 ? 00:00:00 login 290 ? 00:00:00 rusersd 355 ? 00:00:01 login 612 ttyp1 00:00:00 ps 596 ttyp1 00:00:00 sh用戶會看到:進程數目一下子多了許多。這是由于系統中存在許多系統進程。系統進程也稱作守護進程(daemon),它們不與某臺終端或某個用戶相關聯。它們不是由用戶命令建立的進程,而是由系統創建的進程,專門用于執行系統管理和各種服務等功能,如進程的對換、終端的初啟。它們定期地執行系統任務并且在這些任務之

23、間睡眠。對于系統進程,在TTY字段上出現的字符是一個“?”。用戶還會發現:這些系統進程的PID號相對說來都比較小。3輸入ps f命令,可以得到進程更詳細的信息。$ps f UID PID PPID C STIME TTY TIME CMDmengqc 587 586 2 16:46:39 ttyp0 00:00:00 shmengqc 702 587 4 17:25:38 ttyp0 00:00:00 ps -f說明:·UID表示建立該進程的用戶注冊名。·PPID父進程的PID。·C該進程最近使用CPU情況的統計。·STIME啟動進程的時間。·

24、CMD執行該進程的命令。請想一想:為什么ps 命令本身也列出來了?ps的父進程是誰?在注冊時啟動了什么進程?4輸入ps l命令,會得到進程附加屬性的長列表信息,輸入ps -el命令,會得到所有進程的附加屬性長列表信息。$ps -el F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD71 S 0 0 0 0 95 20 fb117000 0 f02bf77c ? 00:00:00 sched20 S 0 1 0 0 66 20 fb117158 136 e0000000 ? 00:00:00 init71 S 0 2 0 0 95 20 f

25、b1172b0 0 f0137be4 ? 00:00:00 vhand 20 S 0 489 1 0 75 20 fb1186d8 124 f01a7418 tty04 00:00:00 getty20 S 0 350 1 0 76 24 fb118830 484 f01bfea8 ? 00:00:00 login20 S 0 290 1 0 76 24 fb118988 116 f01bfea8 ? 00:00:00 rusersd 20 S 0 352 350 0 76 4 fb119c58 1404 f01bfea8 tty02 00:00:14 X20 S 0 355 350 0 73

26、 24 fb119db0 1164 fb119db0 ? 00:00:01 login 20 S 0 525 355 0 76 24 fb11bdf0 632 f01bfea8 ttyp0 00:00:00 session20 S 0 543 525 0 76 24 fb11bf48 2724 f01bfea8 ? 00:00:00 xdt3_binary20 S 0 729 596 2 47 24 fb11c0a0 148 - ttyp1 00:00:01 ps 20 S 0 595 543 0 76 24 fb11c4a8 1036 f01bfea8 ? 00:00:02 term20 S

27、 0 596 595 0 73 24 fb11c600 68 fb11c600 ttyp1 00:00:00 sh 從以上所列出的數據中可以看出,系統進程的優先級(PRI)比較高;進程有族系關系,如:上面輸入的命令(ps)對應的進程的PID是729,它的父進程(sh)的PID是596,而596號進程的父進程是595號進程,依次類推,結果是: 72959659554352535535010所以,0號進程是系統中的第一個進程,它創建1號進程;1號進程創建各終端的注冊進程、會話進程以及Shell進程;由Shell進程為用戶在終端上輸入的命令創建相應的進程。3.3.2進程控制1后臺進程注冊Shell進

28、程是用戶執行的大多數命令(子進程)的父進程。通常情況下,在系統提示用戶輸入新的命令之前,Shell進程要等待其子進程(前臺進程)的結束。用戶可以讓Shell不必等待子進程結束就可以繼續接受另外的命令,其方法就是把命令放入后臺運行。為了在后臺運行一個命令,在該命令行的末尾要加上一個&字符,于是Shell就立即返回一個提示符($ )。例如,輸入以下命令:$ cc f1.c f2.c f3.c o prog&1 586$ 其中,1表示作業號,586是后臺進程的PID號。這里,cc是調用C編譯程序命令,它對f1.c,f2.c和f3.c三個用C語言編寫的文件進行編譯,產生的可執行代碼放入

29、prog文件中。在ps命令中使用PID可以監控該后臺進程。例如:$ ps -p pid這里的pid是指定進程的PID號,例如,對上面所示進程來說,PID就是586。如果命令執行需要很長時間才能完成,那么就要采用后臺執行的方式。但是,它不適于象vi這種交互式的程序。當用戶在后臺運行一個命令時,應該使用重定向機制把該命令的輸出定向到一個文件。否則,它會在無法預測的時候在屏幕上顯現出來。例如,$ grep “mary” /etc/passwd > /tmp/abc &772$ ps p 772 PID TTY TIME CMD1 + Done grep “mengqc” /etc/pa

30、sswd > /tmp/abc &當后臺進程終止時,Shell將通知用戶。它只是簡單地給出該子進程的作業號,并不顯示其PID。例如:1 + Done grep “mengqc” /etc/passwd > /tmp/abc &2作業控制(1)掛起進程:Shell允許用戶掛起正在運行的進程、可以把進程從后臺移到前臺或者反過來從前臺移到后臺。Shell可以將當前正在運行的子進程掛起,并且告訴Shell不用等待子進程終止。當一個子進程被掛起時,屏幕上就顯示出該子進程的作業號和命令名,如下所示:1 + Stopped command其中,command表示被掛起進程所對應的

31、命令。例如,用戶當前正在運行命令: $ man ls | more在沒有全部顯示完之前,按下<Ctrl>z鍵,在屏幕上會看到: 1 + Stopped man ls | more(2)后臺作業一旦用戶掛起一個進程,就可以用bg命令在后臺運行這個進程,例如: $ bg %1(3)前臺作業使用fg命令,可以把一個在后臺運行的進程調度到前臺運行,例如: $ fg %1(4)顯示作業狀態使用jobs命令顯示正在運行的所有子進程的狀態,例如: $ jobs(5)進程休眠使用sleep命令讓當前進程休眠若干秒,該秒數由參數指定,例如: $ sleep 60 &(6)綜合練習:輸入以下命

32、令:$ sleep 60 &$ sleep 30 &現在輸入<Ctrl>z。注意被停止進程的號碼,并且Shell提示符會重新出現。輸入命令: $ jobs可以查看各子進程的狀態。使用bg命令,把睡眠60秒的sleep命令放在后臺運行: $ bg pid使用fg命令,把睡眠60秒的sleep命令放在前臺運行: $ fg job_ID當60秒的sleep命令完成后,運行jobs命令: $ jobs分析輸出結果。它是你所期望的情況嗎?3.3.3發送中斷信號信號是隨時可以中斷一個進程并讓它立即采取行動的事件。例如用戶在鍵盤上按下<Del>鍵或者<Ctrl&

33、gt;組合鍵等。 Linux操作系統支持許多不同類型的信號,其中大多數都是用來終止進程。有時,一個進程運行的指令使得該進程阻塞住了,無法正常地退出。這樣的進程就稱作被掛起。無論是一個進程被掛起,還是用戶啟動了一個進程、突然又不想運行它,都需要提前終止相應的進程。1信號(1)掛起信號(信號1)用戶退出系統時,操作系統就發送hangup(掛起)信號給Shell的各子進程。信號1最初用于撥號modem,當電話線掛斷后就終止一個注冊進程。(2)中斷信號(信號2)<Del>鍵通常被配置為發送中斷信號,它終止當前的進程。(3)退出信號(信號3)<Ctrl>組合鍵向進程發送quit(

34、退出)信號,通常它導致進程的終止。有些應用程序在編寫時要忽略<Del>鍵發出的中斷信號。如果<Del>鍵不能終止進程,就試用<Ctrl>組合鍵。后臺進程不受<Del>或者<Ctrl>鍵的影響。對于這類忽略<Del>和<Ctrl>的進程,必須使用kill命令才能終止。2nohup命令如果用戶想在后臺運行一個很長的進程,并且在退出系統時也不終止該進程,則可以使用nohup命令來保護該進程。nohup命令的格式是: nohup command arguments &其中,command-要保護的進程所對應的命

35、令;Arguments-該命令的參數。如果沒有指定輸出重定向,則nohup 命令將指定命令的輸出重定向到文件nohup.out。3kill命令有些信號并不能使用按鍵很容易地生成。為了發送這些信號,可以使用kill命令: kill -signai pid pid 其中,signal表示要發送的信號,pid表示接受信號的進程的PID。例如: $ ps PID TTY TIME CMD 587 ttyp0 00:00:10 sh 626 ttyp0 00:00:03 vi 639 ttyp0 00:00:01 ksh 698 ttyp0 00:00:00 ps 為了用kill命令把信號9(即終止進程

36、信號)發給PID是626的進程,應輸入以下命令: $ kill -9 6264試做以下練習:執行命令: $ find / -name core print > /dev/null 2>&1 &命令find由根目錄(用 “/” 表示)開始查找名為core(可以指定另外的文件名)的文件(選項 name 的作用),結果輸出(-print的作用)重定向到文件/dev/null中( > /dev/null的作用),出錯輸出被重定向到標準輸出(即 2>&1的作用),整個命令在后臺運行。使用ps命令,確認find命令還在運行。使用kill命令“殺死”find進

37、程。3.3.4減輕系統負載Linux提供了一些命令能夠使系統運行的效率更高,其方法是把進程的負載分散到更長的時間段內。這里介紹兩個常用命令:一個影響進程的優先值,另一個可以延遲命令的執行時間。1nice命令每一個進程都有一個優先值,Shell內核用它來給進程分派CPU的時間。優先值是根據進程自上一次占用CPU到現在過了多長時間以及nice值來確定,nice值是0 到39之間的數。nice值越高,命令的優先級就越低。Shell內核進行進程調度時,總是先調度優先級高的就緒進程。反過來,一個就緒進程的優先級低,它就被排在后面得到CPU。nice命令用于增加指定命令的nice值。其使用格式是: nic

38、e -n increment command arguments 其中,increment是要增加的數值,command是nice命令所要作用的命令,arguments是command命令所用的參數。如果系統很忙,使用nice命令就很好,特別當執行一個要占用大量CPU時間的命令時更應使用它。默認情況下,進程的nice值是20。nice命令允許將此值增大到39。例如,下面的命令把find進程的nice值增為35(假定當前Shell的nice值為20):$ nice -n 15 find / -name core > dumps 2>&1 &·如果nice命令

39、沒有指定增量值,那么就假定增量值為10,相應進程的nice值就變為30。·nice命令只對剛剛啟動的新進程起作用。使用renice命令可以影響已經運行的進程的nice值。2at命令有時,用戶可能想讓程序在隨后系統不太忙的時候去運行。 Linux提供了一個命令,它可以讓另外的命令在任何指定的時間運行。at命令從stdin(標準輸入)中讀取輸入。如果stdin對應你的鍵盤,那么,在結束命令時要按<Ctrl>d,用來表明輸入結束。at命令的格式是:at options time date 其中,options是選項,time和date表示時間和日期。 如果想找出今晚10:15的

40、時候誰還在系統上工作,可以使用以下命令: $ at 1015pm > date > who> <Ctrl>d at命令會把已執行命令的標準輸出發送到你的系統郵箱中,或者你可以指定被延遲命令的輸出重定向到你選擇的一個文件中: $ at 1015pm> date > at_data> who >> at_data > <Ctrl>d實驗4 存儲管理4.1實驗目的1加深對存儲管理技術有關概念的理解。2學習使用系統管理命令監視內存的性能。4.2實驗要求正確地使用sar 和swap 命令來報告你的系統在一段時間內有關對換和調頁

41、情況的統計數據,并且了解這些數據的含義,進而對系統的內存活動情況有所分析。 4.3實驗步驟4.3.1使用sar命令監視內存的使用情況sar命令是報告系統活動情況的軟件,功能是報告系統中各種系統活動的情況,包括文件的讀寫、調度和系統調用的活動、緩沖區的使用、磁盤I/O活動、TTY設備的活動、各種隊列的活動、進程間的通信、對換和頁面調動情況等,是Linux系統中進行系統維護的一組重要工具之一。類似的其它命令還有:cpusar-報告SMP(對稱多處理器)系統中每個CPU的系統活動情況。mpsar-報告SMP的系統活動情況。sa1-收集系統活動情況的數據。sa2-報告系統活動情況。sadc-記錄系統活

42、動數據。 sar命令有很多選項,分別用于報告系統中不同的系統活動情況。大家可以使用 man sar命令來查看它的手冊頁,了解各個選項的作用和使用方式。1報告頁面調動活動使用-p選項,sar命令可以報告在一段時間內系統中頁面調動情況。其命令格式是:sar -p t n 其中,t表示兩次收集取樣數據之間的時間間隔,以秒為單位;n表示收集數據總共需要多少個t時間間隔,其默認值是1。 例如,輸入以下命令: sar -p 30 10 則經過5分鐘(10個30秒)之后,在屏幕上會顯示如下所示的信息(應注意:在不同的系統上或在不同時間運行該命令會得到不同的輸出結果): _SV sysv 3.2v5.0.4

43、Pentium 05/31/100 10:09:05 vflt/s pflt/s pgfil/s rclm/s (-p) 10:09:35 1.10 4.60 0.10 0.00 10:10:05 0.10 0.03 0.10 0.00 10:10:35 0.47 4.40 0.00 0.00 10:11:05 0.17 0.00 0.00 0.00 10:11:35 0.47 4.47 0.00 0.00 10:12:05 0.00 0.00 0.00 0.00 10:12:35 0.47 4.47 0.00 0.00 10:13:05 0.17 0.00 0.00 0.00 10:13:3

44、5 2.10 4.83 0.00 0.00 10:14:05 0.00 0.00 0.00 0.00 Average 0.50 2.28 0.02 0.00其中,vflt/s表示每秒地址轉換頁面故障次數(即,頁面訪問合法,但該頁不在內存)。 pflt/s表示由于試圖對標記為“copy-on-write”(寫時拷貝)的頁面進行寫操作,或者 由于發生保護性錯誤(非法訪問頁面)而導致的每秒頁面故障數。 pgfil/s表示通過從文件系統調入頁面而出現的每秒地址轉換故障數。 rclm/s表示每秒添加到空閑列表中的頁面數。 如果vlft/s的值很高,就表明你正在運行的應用程序缺乏局部性訪問(即,對地址空間

45、的訪問并不局限于少量的頁面),因而不適于分頁系統。2報告未用的內存頁面數和對換區磁盤塊數 使用-r選項可以顯示系統上空閑的內存頁面數和對換區中的盤塊數。其命令格式是: sar -r t n其中,t表示兩次收集取樣數據之間的時間間隔,以秒為單位;n表示收集數據總共需要多少個t時間間隔,其默認值是1。 例如,輸入以下命令: sar -r 30 6 則在經過3分鐘(6個30秒)之后,在屏幕上會顯示如下所示的信息:_SV sysv 3.2v5.0.4 Pentium 05/31/10010:28:08 freemem freeswp (-r)10:28:38 868 9800010:29:08 867

46、 9800010:29:38 867 9800010:30:08 867 9800010:30:38 867 9800010:31:08 867 98000 Average 867 98000 其中,freemem表示用戶進程可用的內存頁面數(每頁4KB)。 freeswp表示可供對換和分頁使用的物理磁盤塊數(每塊512字節)。 如果freemem的值在一個時間間隔內降到規定的內存頁面下限值以下,則頁面替換進程(vhand)就把干凈頁面(即正文或未修改的頁面)或者臟頁面(修改過的頁面)添加到空閑列表中,直至freemem的值大于規定的上限值為止;它也把臟頁面拷貝到對換區。如果freemem在一

47、個時間間隔內降至0,則對換進程(sched)被激活,并把整個進程換出到磁盤上。如果freeswp的值持續的下降,則表明系統正在進行對換或者調頁。 3報告系統對換和進程上下文切換活動的情況 使用-w選項可以報告系統中存儲對換和進程上下文切換活動的情況。其命令格式是:sar -w t n 其中,t表示兩次收集取樣數據之間的時間間隔,以秒為單位;n表示收集數據總共需要多少個t時間間隔,其默認值是1。 例如,輸入以下命令: sar -w 30 8 則在經過4分鐘(8個30秒)之后,在屏幕上會顯示如下所示的信息:_SV sysv 3.2v5.0.4 Pentium 05/31/100 10:40:16

48、swpin/s bswin/s swpot/s bswot/s pswch/s (-w) 10:40:46 0.00 0.0 0.00 0.0 3 10:41:16 0.00 0.0 0.00 0.0 110:41:46 0.00 0.0 0.00 0.0 2 10:42:16 0.00 0.0 0.00 0.0 1 10:42:46 0.00 0.0 0.00 0.0 1 10:43:16 0.00 0.0 0.00 0.0 110:43:46 0.00 0.0 0.00 0.0 110:44:16 0.00 0.0 0.00 0.0 1 Average 0.00 0.0 0.00 0.0

49、1 其中,swpin/s表示每秒由對換區換入內存的傳送數量(包括某些程序的最初裝入)。 bswin/s表示每秒由對換區換入內存的4KB頁面的數量(包括某些程序的最初裝 入)。 swpot/s表示每秒由內存換出到對換區的傳送數量。 bswot/s表示每秒由內存換出到對換區所傳送的4KB頁面的數量。 pswch/s表示每秒進程上下文切換的次數。 如果swpot/s的值大于0,那么就表明:進程所用的內存空間不足,需要增加內存的容量或者減少緩沖區的數量。因為磁盤的存取速度明顯地低于內存的存取速度,所以,減少對換的活動對于改善系統的性能是很重要的。3使用vmstat -s命令也可以提供有關對換和上下文切換活動情況的信息。其輸出如下所示:98000 free swap space (空閑的對換空間)demand zero and demand fill pages (請求清0和請求添滿的頁面數)pages on swap (處于對換的頁面數)73772 pages in cache (在高速緩存中的頁面數)pages on file (文件上的頁面數)26745 protection fault (保護故障)pages are freed (空閑頁面

溫馨提示

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

評論

0/150

提交評論