top命令用於動態的監視進程活動與系統負載等信息,格式為:「top」。
這個top命令可真的是太厲害了,完全可以比喻成是「強化版的Windows任務管理器」,運行界面如圖2-5所示:
http://www.linuxprobe.com/chapter-02.html
前面的五行為系統整體的統計信息,下面咱們來逐行的講解:
第1行:系統時間,運行時間,登陸用戶數,系統負載(分別為1分鍾、5分鍾、15分鍾的平均值)。
第2行:進程總數,運行中的,睡眠中的,停止的,僵死的。
第3行:用戶佔用資源,系統內核佔用資源,改變過優先順序的進程,空閑的資源,等待輸入輸出的時間。
此行數據均為CPU數據並以百分比格式顯示,例如"99.2 id"意味著有99.2%的CPU資源正在空閑中。
第4行:物理內存總量,使用量,空閑量,作為內核緩存的內存量。
第5行:虛擬內存總量,使用量,空閑量,已被提前載入的內存數據。
B. 如何通過nice和renice命令來設置進程的優先順序
系統中運行的每個進程都有一個優先順序(亦稱「nice 值」),其范圍從 -20 (最高優先順序)到 19 (最低優先順序)。默認情況下,進程的優先順序是 0 (「基本」調度優先順序)。優先順序比較大的進程(nice 值比較小,最低到 -20)相對優先順序比較小的進程(直到 19)將比較頻繁地被調度運行,因此就擁有更多的進程周期。一般用戶只能降低它們自己進程的優先順序別,並限於 0 到 19 之間。超級用戶(root)可以將任何進程的優先順序設定為任何值。
renice
如果某個或某些進程消耗了過多的系統資源,除了終止它們,您還可以更改它們的優先順序。為此,請使用 renice 命令。其語法為:
renice 優先順序 [[-p] pid ...] [[-g] pgrp ...] [[-u] 用戶名 ...]
其中,優先順序是指優先順序的值;pid (對多個進程請使用 -p 選項)表示進程 ID 號;pgrp (如果有多個,請用 -g)表示進程組 ID 號;而用戶(如果不只一個,請用 -u)表示進程所有者的用戶名。
假定您運行了一個執行長時間科學運算的進程(其 PID 為 785),但是您又想要玩一個游戲而想要釋放一些系統資源。那麼您可以:
$ renice +15 785
這樣,您的那個進程可能需要花費更長一些時間完成,不過它就不會從其他進程手裡搶走 CPU 時間片。
如果您是系統管理員,而且您發覺某些用戶執行了過多的進程並消耗了過多的系統資源時,您只需鍵入一個命令就可以改變這些用戶進程的優先順序:
# renice +20 -u li_si
這樣,li_si 的所有進程都將擁有最低優先順序,因而就不會阻礙其他用戶的進程了。
nice
既然您已經了解可以更改進程的優先順序,您可能需要按照指定的優先順序執行命令。為此,請使用 nice 命令。
此時,您需要把您要運行的命令作為 nice 的一個參數。而其另一個參數 -n 可用來設置優先順序別。默認情況下 nice 將設置優先順序為 10。
比如,您想要創建一張 Mandrakelinux 安裝 CD-ROM 的 ISO 映像:
$ dd if=/dev/cdrom of=~/mdk1.iso
在某些裝配標准 IDE CD-ROM 的系統上,復制大量信息的進程將消耗過多系統資源。要避免復制操作阻礙其他進程,您可以用如下命令在一個比較低的優先順序上啟動該進程:
$ nice -n 19 dd if=/dev/cdrom of=~/mdk1.iso
然後就可以繼續工作了。
C. linux中的nice命令是用來幹嘛的
Linux nice用來設置進程優先順序,優先順序的數值為-20~19,其中數值越小優先順序越高,數值越大優先順序越低,-20的優先順序最高,19的優先順序最低,默認的優先順序數值為10。
需要注意的是普通用戶只能在0~19之間調整應用程序的優先權值,只有超級用戶有權調整更高的優先權值(從-20~19)。
使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
參數:
-n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優先序的增加 adjustment
--help 顯示求助訊息
--version 顯示版本資訊
範例:
將 ls 的優先序加 1 並執行 :
nice -n 1 ls
將 ls 的優先序加 10 並執行 :
nice ls將 ls 的優先序加 10 並執行
注意 : 優先序 (priority) 為操作系統用來決定 CPU 分配的參數,Linux 使用『回合制(round-robin)』的演演算法來做 CPU 排程,優先序越高,所可能獲得的 CPU時間就越多。
D. top命令的pr值是什麼意思,跟nice值有什麼關系
cpu個數。 cpu使用的情況,其實和自己電腦的cpu使用情況可以互通的。 中央處理器(CPU,Central Processing Unit)是一塊超大規模的集成電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處...
E. 請問Linux裡面的nice指令和renice指令的作用有何不同
nice是在進程還沒有運行的時候運行一個進程,指定優先順序。
renice是改變已運行進程的優先順序。
F. 請教標簽軟體Nicelabel5的用法
NiceLabel條碼軟體功能齊全,操作簡單,支持RFID標簽設計。該軟體還支持多種資料庫來實現批量列印標簽,NiceLabel軟體中特別設有用戶和文件安全和整合選項,更方便企業管理標簽列印工作,廣泛的功能和選項使其成為強大而便捷的工具,可滿足任何標簽設計要求。
強大的標簽設計功能
通過標准和直接的用戶環境,實現強大的標簽設計
通過使用功能齊全的標簽設計向導,即使是初學者也能快速而輕易地創建標簽。將Windows和列印機字體、條碼、繪圖元素和圖形文件結合起來,可實現任何標簽排版設計。靈活的設計工具,符合最新Windows標準的用戶界面,可幫助用戶准確快速地製作標簽。標簽可包含廣泛的變數欄位,如提示值、串列化欄位和日期時間戳。
條碼和合規標簽設計支持
Nicelabel 產品為所有行業標准條碼(包括2-D)提供支持。具有效驗數位計算多選項功能,任何潛在要求都可支持。
用戶經常面臨一些特殊用戶或具體行業(化工、汽車等)合規性要求的問題。Nicelabel 可提供預制的模板,進行自動化條碼驗證控制。由於基本都支持所有最新的自動識別標准,加上無線射頻標記的出現,當前和未來的合規性問題均可得到解決,令人高枕無憂。
強大的數據處理選項
總是具有字串、演算法及其它功能
標簽列印過程中經常要求進行額外的數據操作。鏈接欄位、高級系列化選項、演算功能僅是Nicelabel提供的眾多數據處理功能中的一少部分。高級用戶將要求支持 Visual Basic 腳本,使他們幾乎能進行完全自定義的標簽數據控制。
支持多種資料庫列印
手動記錄選擇僅是資料庫檢索選項的一個內容
一個具有友好用戶界面的資料庫使用向導,可幫助用戶快速便捷地了解標準的操作,如手動記錄選擇或完整的資料庫列印。
高級用戶可充分利用內置的數據查詢程序或編寫它們自己的SQL命令。除了對標准文本文件的支持之外,普通資料庫類型和 ODBC 驅動程序,高性能本地驅動程序也可應用於對數據讀取速度要求不是很高的企業資料庫 (Oracle, MS SQL 伺服器, AS/400, Informix, 等)
支持RFID/智能標簽列印
將 RFID 標記編程的過程與標簽列印過程結合起來,可簡化標記的編程過程。Nicelabel 允許對FRID標記數據結構和列印進行簡單的配置。
Nicelabel 專業版使用戶能設定RFID智能標簽,正如傳統的標簽列印一樣。簡單的用戶界面,當列印在標簽頂部上的數據通過列印頭時,標簽設計者能將相同的數據用於設定多信息文本標簽。
大量的整合選項
標簽列印過程必須經常與企業應用程序徹底整合,如ERP、WMS、Microsoft Office、庫存管理軟體等等。Nicelabel在無縫整合方面具有無比的優勢,具有各種各樣的選項可滿足任何系統的要求。
命令文件和命令行選項
一整套 Nicelabel 專用命令,可使用「工作文件」或命令文件選項從其它應用程序中自動列印標簽。
ActiveX (自動化)編程界面
編程工具為在用戶定義的Windows程序中完全控制標簽列印過程提供了極大的可能性。通過豐富的 ActiveX 編程界面,用戶可使用大量的功能來打開和修改標簽,指定標簽數據並輸出到選定的列印機。當 Nicelabel 被其它程序控制時,它可作為列印引擎,對於列印機錯作員而言,它是完全透明的。
密碼保護和日誌文件選項
在必要時,標簽設計管理員可定義具有不同許可權級別的用戶列表,限制對標簽列印程序的訪問。也可啟用自定義列印日誌功能,記錄標簽列印報告。
再來個使用手冊http://wenku..com/view/fac253f69e314332396893b6.html
G. Linux命令應用大全的圖書簡介
作者: 張洪波,陳洪彬,吳君編著
出 版 社: 清華大學出版社
出版時間: 2009-1-1
字數: 866000
版次: 1
頁數: 587
開本: 16開
印次: 1
紙張: 膠版紙
S B N : 9787302191025
包裝: 平裝
所屬分類: 圖書 >> 計算機/網路 >> 操作系統/系統開發 >> LINUX
定價:¥65.00 本書圍繞Linux命令行下的命令進行深入而細致的講解。本書的編寫基於Linux Fedora 8操作系統2.6內核,幾乎涵蓋了Linux命令行下所有的命令,並介紹其對應的功能說明、語法說明、選項介紹、典型示例和相關命令,對每一個命令都做了較為詳盡的介紹並結合大量的實例進行具體說明。讀者可以通過對本書的學習,深入理解Linux命令。
本書所介紹的命令同時也適用於其他Linux版本,是Linux用戶必備的參考用書。 第1章 系統管理命令
1.adser命令:增加一個系統用戶
2.apmd命令:高級電源管理
3.apmsleep命令:產生配置腳本
4.apropos命令:查找用戶手冊的名字和相關描述
5.arch命令:輸出主機的體系結構
6.batch命令:執行批處理
7.bg命令:將程序放在後台執行
8.cd命令:切換目錄
9.chfn命令:設置finger信息
10.chsh命令:改變登錄系統時的shell
11.clear命令:清除終端屏幕
12.date命令:顯示或設置系統時間
13.echo命令:顯示文本行
14.exec命令:執行命令後交出控制權
15.exit命令:退出shell
16.fc命令:修改或執行命令
17.fg命令:將後台任務拉到前台執行
18.fgconsole命令:列印虛擬終端的數目
19.finger命令:查找並顯示用戶的信息
20.free命令:顯示內存信息
21.fuser命令:用文件或者套介面表示進程
22.fwhois命令:顯示用戶的信息
23.gcov命令:coverage測試工具
24.gdialog命令:從shell顯示文本信息
25.gitps命令:顯示程序情況
26.groupadd命令:創建一個新的群組
27.groupdel命令:刪除一個群組
28.groupmod命令:改變系統群組的屬性
29.halt命令:關閉系統
30.help命令:顯示shell的內建命令的幫助信息
31.history命令:顯示歷史命令
32.htpasswd命令:創建和更新用戶的認證文件
33.id命令:顯示用戶及群組的ID
34.info命令:讀取目錄信息
35.init命令:開關機設置
36.ipcs命令:顯示進程間通信的信息
37.ipcrm命令:刪除消息隊列、旗語設置或者共享內存的ID
38.jobs命令:顯示所有的後台程序
39.kill命令:終止執行中的程序
40.killall命令:終止同名的所有進程
41.last命令:顯示目前和過去登錄系統的用戶相關信息
42.lastb命令:顯示登錄系統失敗的用戶相關信息
43.login命令:登錄系統
44.logname命令:顯示登錄賬號的信息
45.logrotate命令:處理log文件
46.logout命令:退出系統
47.lsmod命令:顯示Linux內核模塊信息
48.man命令:格式化和顯示在線手冊
49.manpath命令:設置man手冊的查詢路徑
50.mkfontdir命令:創建字體文件目錄
51.mount命令:掛載文件系統
52.mpost命令:系統的繪畫工具
53.msgcat命令:合並消息目錄
54.msgcomm命令:匹配兩個消息目錄
55.msgen命令:創建英語消息目錄
56.msginit命令:初始化消息目錄
57.newgrp命令:登錄另一個群組
58.nohup命令:退出系統繼續執行命令
59.ntsysv命令:設置系統的各種服務
60.open命令:開啟虛擬終端
61.pgrep命令:基於名字和其他屬性的查找或信號處理
62.pidof命令:查找運行程序的ID
63.pkill命令:終止程序
64.pmap命令:顯示程序的內存信息
65.procinfo命令:顯示系統狀態
66.ps命令:報告程序狀況
67.pstree命令:以樹狀圖顯示程序
68.pwck命令:檢查密碼文件
69.pwd命令:顯示工作目錄
70.reboot命令:重新啟動
71.renice命令:調整優先順序
72.rlogin命令:遠程登錄
73.rmmod命令:刪除模塊
74.rsh命令:遠程登錄的shell
75.rwho命令:查看系統用戶
76.screen命令:多重視窗管理程序
77.shutdown命令:系統關機命令
78.sleep命令:休眠
79.su命令:變更用戶身份
80.sudo命令:以其他的身份執行命令
81.suspend命令:暫停執行shell
82.swatch命令:系統監控程序
83.symlinks命令:維護符號鏈接的工具程序
84.tload命令:顯示系統負載
85.top命令:顯示進程信息
86.uname命令:顯示系統信息
87.useradd命令:建立系統賬號
88.userconf命令:用戶賬號設置
89.usermod命令:修改用戶賬號
90.userdel命令:刪除用戶賬號
91.users命令:顯示用戶
92.vlock命令:鎖定終端
93.w命令:顯示登錄系統的用戶信息
94.wait命令:等待程序返回狀態
95.watch命令:將結果輸出到標准輸出設備
96.whereis命令:查找文件
97.which命令:查找文件
98.who命令:顯示系統用戶信息
99.whoami命令:顯示用戶名
100.whois命令:顯示指定用戶信息
101.&命令:將任務放在後台執行
第2章 系統設置命令
1.alias命令:設置命令的別名
2.apmd命令:高級電源管理
3.at命令:指定執行命令的時間
4.atd命令:執行已經排隊的任務
5.atq命令:檢查排隊的任務
6.atrm命令:刪除已經排隊的任務
7.atrun命令:執行已經排隊的任務
8.aumix命令:設置音效設備
9.authconfig命令:配置系統的認證信息
10.bind命令:顯示或者設置按鍵組合
11.chkconfig命令:設置系統的應用程序
12.chroot命令:改變根目錄
13.clock命令:設置系統的RTC時間
14.crontab命令:設置計時器
15.declare命令:顯示或者設定shell變數
16.depmod命令:模塊關系
17.dircolors命令:ls命令對應的顯示顏色
18.dmesg命令:顯示開機信息
19.enable命令:可用的shell內置命令
20.eval命令:連接多個命令
21.export命令:設置或顯示環境變數
22.false命令:不做任何事情,表示失敗
23.fbset命令:設置幀緩沖區
24.hash命令:顯示和清除哈希表
25.hostid命令:列印當前主機的標識
26.hostname命令:顯示或設置當前系統的主機名
27.hwclock命令:顯示和設定硬體時鍾
28.insmod命令:載入模塊
29.isosize命令:顯示ISO9660文件系統信息
30.kbdconfig命令:設置鍵盤的類型
31.ldconfig命令:設置動態鏈接綁定
32.ldd命令:列印共享庫文件的相互依賴關系
33.lilo命令:引導安裝程序
34.liloconfig命令:設置程序的載入
35.losetup命令:設置循環設備
36.mev命令:監視滑鼠情況
37.minfo命令:顯示MS-DOS文件系統的各項參數
38.mkkickstart命令:建立安裝的組態文件
39.mkraid命令:初始化/升級RAID設備陣列
40.modinfo命令:顯示內核信息
41.modprobe命令:自動處理可載入的模塊
42.mouseconfig命令:設置滑鼠的相關參數
43.nice命令:設置優先權
44.passwd命令:設置密碼
45.pwconv命令:開啟用戶的投影密碼
46.pwunconv命令:關閉用戶的投影密碼
47.resize命令:設置終端視窗的大小
48.rpm命令:管理RPM包
49.runlevel命令:顯示執行等級
50.set命令:設置shell
51.setconsole命令:設置系統終端
52.setenv命令:查詢或顯示環境變數
53.setserial命令:設置或顯示串口的相關信息
54.setup命令:設置公用程序
55.sliplogin命令:將終端機之間的連接設為sliplogin連接
56.swapoff命令:關閉系統交換分區
57.swapon命令:啟動系統交換分區
58.sysctl命令:設置系統核心參數
59.telinit命令:設置系統的執行級別
60.timeconfig命令:設置時區
61.ulimit命令:控制shell程序的資源
62.unalias命令:刪除別名
63.unset命令:刪除變數或函數
64.vmstat命令:顯示虛擬內存的信息
65.yes命令:持續輸出給定的字元串,每行顯示一個字元串
第3章 磁碟的管理和維護命令
1.automount命令:為auto文件系統配置掛載點
2.badblocks命令:檢查磁碟壞道
3.cfdisk命令:磁碟分區
4.dd命令:轉換復制文件
5.df命令:顯示磁碟信息
6.dirs命令:顯示目錄信息
7.命令:顯示目錄或者文件所佔的磁碟空間
8.e2fsck命令:檢查ext2文件系統
9.mkbootdisk命令:建立當前系統的啟動盤
10.mke2fs命令:建立ext2文件系統
11.mkfs命令:建立各種文件系統
12.mkfs.minix命令:建立minix文件系統
13.mkinitrd命令:建立要載入ramdisk的映像文件
14.mkisofs命令:建立ISO9660映像文件
15.mkswap命令:設置交換分區
16.mt命令:磁帶驅動操作
17.mzip命令:zip/jaz磁碟驅動器控制命令
18.quota命令:顯示磁碟已使用的空間與限制
19.quotacheck命令:檢查磁碟的使用空間與限制
20.quotaoff命令:關閉磁碟空間與限制
21.quotaon命令:開啟磁碟空間限制
22.quotastats命令:顯示磁碟空間的限制
23.raidstop命令:關閉軟體控制的磁碟陣列
24.repquota命令:檢查磁碟空間限制的狀態
25.restore命令:還原mp操作備份的文件
26.rmt命令:遠程磁帶傳輸模塊
27.sfdisk命令:硬碟分區工具程序
28.sync命令:將內存緩沖區的數據寫入磁碟
第4章 文本編輯命令
1.awk命令:模式匹配語言
2.col命令:過濾控制字元
3.colrm命令:刪除制定的列
4.comm命令:比較排序文件
5.ed命令:文本編輯器
6.egrep命令:輸出某種匹配的行
7.ext2ed命令:ext2文件系統編輯
8.fgrep命令:匹配字元串
9.fmt命令:編排文本文件
10.gedit命令:gnome的文本編輯器
11.head命令:輸出文件開頭的部分信息
12.ispell命令:拼字檢查程序
13.jed命令:編輯文本文件
14.joe命令:編輯文本文件
15.join命令:將兩個文件中與指定欄位內容相同的行連接起來
16.less命令:一次顯示一頁文本
17.more命令:顯示文本信息
18.nano命令:文本編輯器
19.pg命令:瀏覽文件
20.pico命令:
21.sed命令:利用script命令處理文本文件
22.sort命令:將文本文件內容加以排序
23.spell命令:拼字檢查程序
24.tr命令:轉換文件中的字元
25.uniq命令:檢查文件中重復出現的行
26.vi命令:文字編輯器
27.vim命令:增強型vi編輯器
28.view命令:文字編輯器
29.wc命令:計算字數
第5章 文件傳輸命令
1.bye命令:終端FTP連接
2.fold命令:限制文件的列寬
3.ftp命令:文件傳輸協議
4.ftpcount命令:顯示FTP用戶登錄數
5.ftpshut命令:定時關閉FTP伺服器
6.ftpwho命令:顯示FTP登錄用戶信息
7.ncftp命令:傳輸文件
8.ncftpget命令:下載文件
9.ncftpls命令:顯示文件目錄
10.ncftpput命令:上傳文件
11.tftp命令:傳輸文件
12.uucico命令:UUCP文件傳輸
13.uucp命令:在Linux系統之間傳輸文件
14.uupick命令:處理文件
15.uuto命令:文件傳輸到遠程主機
第6章 文件管理命令
1.aspell命令:檢查文件的錯誤
2.attr命令:XFS文件系統對象的擴展屬性
3.basename命令:顯示文本或者目錄的基本名稱
4.chattr命令:改變文件的屬性
5.chgrp命令:改變文件或者目錄所屬的群組
6.chmod命令:設置文件或者目錄的許可權
7.chown命令:改變文件的擁有者或群組
8.cksum命令:文件的CRC校驗(該命令第一本沒有)
9.cmp命令:比較文件的差異
10.cp命令:復制
11.csplit命令:分割文件
12.diff命令:生成差異信息
13.diffstat命令:diff結果的統計信息
14.dirname命令:顯示文件的除名字外的路徑
15.file命令:識別文件的類型
16.filterdiff命令:從diff文件中提取不同
17.find命令:查找文件或目錄
18.findfs命令:通過列表或用戶ID查找文件系統
19.git命令:在文字模式下管理文件
20.indent命令:調整C原始代碼文件的格式
21.ln命令:鏈接文件或目錄
22.lndir命令:連接目錄的內容
23.locate命令:查找文件
24.lsattr命令:顯示文件屬性
25.mattrib命令:變更或顯示MS-DOS文件的屬性
26.mc命令:互動式文件管理程序
27.m命令:復制MS-DOS文件到Linux,或者將Linux文件復制到MS-DOS
28.md5sum命令:檢查文件
29.mdel命令:MS-DOS文件刪除
30.mdir命令:顯示MS-DOS文件的目錄
31.mkdir命令:建立目錄
32.mktemp命令:建立暫存文件
33.mmove命令:移動MS-DOS文件
34.mread命令:復制MS-DOS文件
35.mren命令:更改MS-DOS文件
36.mshowfat命令:顯示MS-DOS文件的記錄
37.mtools命令:顯示mtools支持的命令
38.mtoolstest命令:測試並顯示mtools的相關設置
39.mv命令:移動或更改現有的文件或目錄
40.od命令:輸出文件內容
41.paste命令:合並文件的列
42.patch命令:修補文件
43.rcp命令:復制遠程主機的文件或目錄
44.rhmask命令:產生加密文件
45.rm命令:刪除文件或目錄
46.rmdir命令:刪除目錄
47.scp命令:遠程復制文件
48.slocate命令:查找文件或目錄
49.split命令:切割文件
50.stat命令:顯示inode內容
51.sum命令:計算文件的校驗碼
52.tee命令:從標准輸入讀取並輸出到標准輸出和文件
53.tmpwatch命令:刪除暫存文件
54.touch命令:更新文件或目錄的時間
55.tree命令:以樹狀結構顯示目錄的內容
56.umask命令:指定在建立文件時預設的許可權掩碼
第7章 文件備份及壓縮命令
1.ar命令:建立、修改或從檔案文件中提取文件
2.bunzip2命令:解壓縮.bz2類型的文件
3.bzip2命令:解壓縮.bz2類型的文件
4.bzip2recover命令:對損壞的.bz2文件進行修復
5.compress命令:壓縮文件
6.cpio命令:備份文件
7.mp命令:文件系統備份
8.fdisk命令:Linux分區控製表
9.fsck命令:檢查文件系統並嘗試修復錯誤
10.fsck.ext2命令:檢查ext2文件系統
11.fsck.ext3命令:檢查ext3文件系統
12.fsck.minix命令:檢查minix文件系統並嘗試修復錯誤
13.gunzip命令:解壓縮文件
14.gzexe命令:壓縮可執行文件
15.gzip命令:壓縮文件
16.hdparm命令:顯示和設定磁碟參數
17.lha命令:壓縮或解壓縮文件
18.tar命令:壓縮/解壓縮文件
19.umount命令:卸載文件系統
20.unarj命令:解壓縮.arj文件
21.uncompress命令:解壓縮.z文件
22.unzip命令:解壓縮zip文件
23.zip命令:壓縮文件
24.zipinfo命令:顯示壓縮文件的信息
第8章 網路通信及管理命令
第9章 程序編譯命令
第10章 列印作業命令
第11章 電子郵件及新聞組命令
第12章 格式轉換命令
第13章 系統軟體工具
H. Linux裡面nice值作用是什麼
一般來說, 程序的執行就是cpu不停在上面切換而已, 但是默認的情況下, cpu是很公平的, 他在每個進程上切換的次數是一樣的, 但是如果你有一個程序很占資源 , 如備份, 這些程序, 那麼你在執行的時候就會很卡對不對, 那麼這個時候你就會不想要他佔用那麼資源, 或者說是你想要讓別的程序先執行, 他主要的作用就是修改cpu在該程序上切換的次數
你可以這樣想一下,cpu在你的身上切換一次的時候,但是在我nice值小的地方運作10次或者1000次,你說哪個要跑得快一點,這就是nice的作用
I. CPU C-stase通過什麼調整系統
一,使用taskset充分利用多核cpu,讓cpu的使用率均衡到每個cpu上
#taskset
-p, 設定一個已存在的pid,而不是重新開啟一個新任務
-c, 指定一個處理,可以指定多個,以逗號分隔,也可指定范圍,如:2,4,5,6-8。
1,切換某個進程到指定的cpu上
taskset -cp 3 13290
2,讓某程序運行在指定的cpu上
taskset -c 1,2,4-7 tar jcf test.tar.gz test
需要注意的是,taskset -cp 3 13290在設定一個已經存在的pid時,子進程並不會繼承父進程的,
因此像tar zcf xxx.tar.gz xxx這樣的命令,最好在啟動時指定cpu,如果在已經啟動的情況下,則需要指定tar調用的gzip進程。
二,使用nice和renice設置程序執行的優先順序
格式:nice [-n 數值] 命令
nice 指令可以改變程序執行的優先權等級。指令讓使用者在執行程序時,指定一個優先等級,稱之為 nice 值。
這個數值從最高優先順序的-20到最低優先順序的19。負數值只有 root 才有權力使。
一般使用者,也可使用 nice 指令來做執行程序的優先順序管理,但只能將nice值越調越高。
可以通過二種方式來給某個程序設定nice值:
1,開始執行程序時給定一個nice值,用nice命令
2,調整某個運行中程序的PID的nice值,用renice命令
通常通過調高nice值來備份,為的是不佔用非常多的系統資源。
例:
nice -n 10 tar zcf test.tar.gz test
由nice啟動的程序,其子進程會繼承父進程的nice值。
查看nice值
# nice -n -6 vim test.txt &
# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 19427 2637 0 75 0 – 16551 wait pts/6 00:00:00 bash
4 T 0 21654 19427 0 71 -6 – 23464 finish pts/6 00:00:00 vim
renice調整運行中程序的nice值
格式:renice [nice值] PID
三,使用ulimit限制cpu佔用時間
注意,ulimit 限制的是當前shell進程以及其派生的子進程。因此可以在腳本中調用ulimit來限制cpu使用時間。
例如,限制tar的cpu佔用時間,單位秒。
# cat limit_cpu.sh
ulimit -SHt 100
tar test.tar.gz test
如果tar佔用時間超過了100秒,tar將會退出,這可能會導致打包不完全,因此不推薦使用ulimit對cpu佔用時間進行限制。
另外,通過修改系統的/etc/security/limits配置文件,可以針對用戶進行限制。
四,使用程序自帶的對cpu使用調整的功能
某些程序自帶了對cpu使用調整的功能,比如nginx伺服器,通過其配置文件,可以為工作進程指定cpu,如下:
worker_processes 3;
worker_cpu_affinity 0001 0010 0100 1000;
這里0001 0010 0100 1000是掩碼,分別代表第1、2、3、4顆cpu核心,這就使得cpu的使用比較平均到每個核心上。
J. shell腳本可以設置優先順序么能否設置優先順序為最高
方法如下:
一.nice值
進程在創建時並不是平等 的,他們被賦予不同的優先順序值,例如有些對計算機本身的操作至關重要的程序必須比其他次要的程序具有更高的優先順序(則其有更小的優先順序值),nice的值是表示進程優先順序值可被修正數據值,因此,每個進程都在其計劃執行時被賦予一個系統nice值,這樣系統就可以根據系統的資源以及具體進 程的各類資源消耗情況,主動干預進程的優先順序值。這個過程,用戶也可手工干預其中,但是要被賦予相應的許可權。
默認的nice值為0,nice值范圍從-20(最有利的調度優先順序)到19(最不利的調度優先順序),每個運行的進程都有一個nice值,用於指示Linux進程調度器為其分配優先順序,正的nice值會給進程指定較低的優先順序。
二.用nice命令改變進程啟動時的優先順序
使用nice命令可以使用比默認nice值更高或者更低的優先順序運行進程,,root用戶可以使用nice命令提高或降低任意用戶的nice值,而普通用戶只能降低進程的優先順序。
命令:nice -n nice值
示例:nice -n -10 gimp 以更高優先順序啟動gimp
nice -n 12 gimp 以低優先順序啟動gimp
三.用renice命令改變運行中的進程的優先順序
renice +2 -u huanxiangwu 將huanxiangwu的進程nice值設置為+2
renice +8 6888 將PID為6888的nice值設置為+8
renice -5 `pgrep -u huanxiangwu mysqld` 將huanxiangwu的mysqld進程的nice值設置為-5