Linux常用命令
@(Linux基礎(chǔ))[ubuntu優(yōu)化]
ubuntu優(yōu)化
清除所有已刪除包的殘馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報(bào)如下錯(cuò)誤,證明你的系統(tǒng)中沒有殘留配置文件了,無須擔(dān)心。
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
清理舊版本的軟件緩存
sudo apt-get autoclean
刪除系統(tǒng)不再使用的孤立軟件
sudo apt-get autoremove
如果使用
sudo apt-get autoremove --purge
的話會(huì)把這些孤立軟件的殘留配置文件也一并移除
查看包在服務(wù)器上面的地址
apt-get -qq --print-uris download 軟件包名稱 | cut -d\' -f2
查看內(nèi)核
uname -a
查看系統(tǒng)是32位還是64位
#查看long的位數(shù),返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看內(nèi)核加載的模塊
lsmod
查看網(wǎng)卡狀態(tài)
sudo apt-get install ethtool
sudo ethtool eth0
激活網(wǎng)卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
查看當(dāng)前硬件信息
lshw
查看內(nèi)存型號
sudo dmidecode -t memory
獲取CPU序列號或者主板序列號
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
顯示當(dāng)前內(nèi)存大小
free -m |grep "Mem" | awk '{print $2}'
free 命令相對于top 提供了更簡潔的查看系統(tǒng)內(nèi)存使用情況:
free
total used free shared buffers cached
Mem: 255268 238332 16936 0 85540 126384
-/+ buffers/cache: 26408 228860
Swap: 265000 0 265000
其中的相關(guān)說明
Mem:表示物理內(nèi)存統(tǒng)計(jì)
-/+ buffers/cached:表示物理內(nèi)存的緩存統(tǒng)計(jì)
Swap:表示硬盤上交換分區(qū)的使用情況(這里我們不去關(guān)心)
系統(tǒng)的總物理內(nèi)存:255268Kb(256M),但系統(tǒng)當(dāng)前真正可用的內(nèi)存并不是第一行free 標(biāo)記的 16936Kb,它僅代表未被分配的內(nèi)存。
我們使用total1、used1、free1、used2、free2 等名稱來代表上面統(tǒng)計(jì)數(shù)據(jù)的各值,1、2 分別代表第一行和第二行的數(shù)據(jù)。
total1: 表示物理內(nèi)存總量。
used1: 表示總計(jì)分配給緩存(包含buffers 與cache )使用的數(shù)量,但其中可能部分緩存并未實(shí)際使用。
free1: 未被分配的內(nèi)存。
shared1: 共享內(nèi)存,一般系統(tǒng)不會(huì)用到,這里也不討論。
buffers1: 系統(tǒng)分配但未被使用的buffers 數(shù)量。
cached1: 系統(tǒng)分配但未被使用的cache 數(shù)量。buffer 與cache 的區(qū)別見后面。
used2: 實(shí)際使用的buffers 與cache 總量,也是實(shí)際使用的內(nèi)存總量。
free2: 未被使用的buffers 與cache 和未被分配的內(nèi)存之和,這就是系統(tǒng)當(dāng)前實(shí)際可用內(nèi)存。
整理出來的等式如下:
total1 = used1 + free1
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
buffer 與cache 的區(qū)別
buffer:緩沖區(qū)是尚未被“寫入”磁盤的東西。
cache:緩存是從磁盤中“讀取”并存儲(chǔ)以便以后使用的東西。
對于共享內(nèi)存(Shared memory),主要用于在UNIX 環(huán)境下不同進(jìn)程之間共享數(shù)據(jù),是進(jìn)程間通信的一種方法,一般的應(yīng)用程序不會(huì)申請使用共享內(nèi)存,筆者也沒有去驗(yàn)證共享內(nèi)存對上面等式的影響。
cache 和 buffer的區(qū)別:
Cache:高速緩存,是位于CPU與主內(nèi)存間的一種容量較小但速度很高的存儲(chǔ)器。由于CPU的速度遠(yuǎn)高于主內(nèi)存,CPU直接從內(nèi)存中存取數(shù)據(jù)要等待一定時(shí)間周 期,Cache中保存著CPU剛用過或循環(huán)使用的一部分?jǐn)?shù)據(jù),當(dāng)CPU再次使用該部分?jǐn)?shù)據(jù)時(shí)可從Cache中直接調(diào)用,這樣就減少了CPU的等待時(shí)間,提 高了系統(tǒng)的效率。Cache又分為一級Cache(L1 Cache)和二級Cache(L2 Cache),L1 Cache集成在CPU內(nèi)部,L2 Cache早期一般是焊在主板上,現(xiàn)在也都集成在CPU內(nèi)部,常見的容量有256KB或512KB L2 Cache。
Buffer:緩沖區(qū),一個(gè)用于存儲(chǔ)速度不同步的設(shè)備或優(yōu)先級不同的設(shè)備之間傳輸數(shù)據(jù)的區(qū)域。通過緩沖區(qū),可以使進(jìn)程之間的相互等待變少,從而使從速度慢的設(shè)備讀入數(shù)據(jù)時(shí),速度快的設(shè)備的操作進(jìn)程不發(fā)生間斷。
Free中的buffer和cache:
buffer:作為buffer cache的內(nèi)存,是塊設(shè)備的讀寫緩沖區(qū).
cache:作為page cache的內(nèi)存, 文件系統(tǒng)的cache
注意: 如果 cache 的值很大,說明cache住的文件數(shù)很多。如果頻繁訪問到的文件都能被cache住,那么磁盤的讀IO bi會(huì)非常小。
Buffer和Cache的區(qū)別:
緩存(cached)是把讀取過的數(shù)據(jù)保存起來,重新讀取時(shí)若命中(找到需要的數(shù)據(jù))就不要去讀硬盤了,若沒有命中就讀硬盤。其中的數(shù)據(jù)會(huì)根據(jù)讀取頻率進(jìn)行組織,把最頻繁讀取的內(nèi)容放在最容易找到的位置,把不再讀的內(nèi)容不斷往后排,直至從中刪除。
緩沖(buffers)是根據(jù)磁盤的讀寫設(shè)計(jì)的,把分散的寫操作集中進(jìn)行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。linux有一個(gè)守護(hù)進(jìn)程定 期清空緩沖內(nèi)容(即寫如磁盤),也可以通過sync命令手動(dòng)清空緩沖。舉個(gè)例子吧:我這里有一個(gè)ext2的U盤,我往里面cp一個(gè)3M的MP3,但U盤的 燈沒有跳動(dòng),過了一會(huì)兒(或者手動(dòng)輸入sync)U盤的燈就跳動(dòng)起來了。卸載設(shè)備時(shí)會(huì)清空緩沖,所以有些時(shí)候卸載一個(gè)設(shè)備時(shí)要等上幾秒鐘。
修改/etc/sysctl.conf中的vm.swappiness右邊的數(shù)字可以在下次開機(jī)時(shí)調(diào)節(jié)swap使用策略。該數(shù)字范圍是0~100,數(shù)字越大越傾向于使用swap。默認(rèn)為60,可以改一下試試。
兩者都是RAM中的數(shù)據(jù)。簡單來說,buffer是即將要被寫入磁盤的,而cache是被從磁盤中讀出來的。
buffer是由各種進(jìn)程分配的,被用在如輸入隊(duì)列等方面,一個(gè)簡單的例子如某個(gè)進(jìn)程要求有多個(gè)字段讀入,在所有字段被讀入完整之前,進(jìn)程把先前讀入的字段放在buffer中保存。
cache經(jīng)常被用在磁盤的I/O請求上,如果有多個(gè)進(jìn)程都要訪問某個(gè)文件,于是該文件便被做成cache以方便下次被訪問,這樣可提供系統(tǒng)性能。
Linux的內(nèi)存管理,實(shí)際上跟windows的內(nèi)存管理有很相像的地方,都是用虛擬內(nèi)存這個(gè)的概念,為什么在很多時(shí)候還有很大的物理內(nèi)存的時(shí)候,卻還是用到了pagefile. 所以才經(jīng)常要跟一幫人吵著說Pagefile的大小,以及如何分配這個(gè)問題,在Linux大家就不用再吵什么swap大小的問題,我個(gè)人認(rèn)為,swap設(shè)個(gè)512M已經(jīng)足夠了,如果你問說512M的SWAP不夠用怎么辦?只能說大哥你還是加內(nèi)存吧,要不就檢查你的應(yīng)用,是不是真的出現(xiàn)了memory leak.
在Linux下查看內(nèi)存我們一般用command free
[root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
下面是對這些數(shù)值的解釋:
第二行(mem):
total:總計(jì)物理內(nèi)存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個(gè)進(jìn)程共享的內(nèi)存總額。
Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
區(qū)別:
第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區(qū)別。
這兩個(gè)的區(qū)別在于使用的角度來看,第一行是從OS的角度來看,因?yàn)閷τ贠S,buffers/cached 都是屬于被使用,所以他的可用內(nèi)存是8908KB,已用內(nèi)存是377116KB,其中包括,內(nèi)核(OS)使用+Application(X,oracle,etc)使用的+buffers+cached.
第三行所指的是從應(yīng)用程序角度來看,對于應(yīng)用程序來說,buffers/cached 是等于可用的,因?yàn)閎uffer/cached是為了提高文件讀取的性能,當(dāng)應(yīng)用程序需在用到內(nèi)存的時(shí)候,buffer/cached會(huì)很快地被回收。
所以從應(yīng)用程序的角度來說,可用內(nèi)存=系統(tǒng)free( memory+buffers+cached.)
如上例:
185656=8908+21280+155468
接下來解釋什么時(shí)候內(nèi)存會(huì)被交換,以及按什么方交換。
當(dāng)可用內(nèi)存少于額定值的時(shí)候,就會(huì)開會(huì)進(jìn)行交換.
如何看額定值(RHEL4.0):
cat /proc/meminfo
交換將通過三個(gè)途徑來減少系統(tǒng)中使用的物理頁面的個(gè)數(shù):
1.減少緩沖與頁面cache的大小,
2.將系統(tǒng)V類型的內(nèi)存頁面交換出去,
3.換出或者丟棄頁面。(Application 占用的內(nèi)存頁,也就是物理內(nèi)存不足)。
事實(shí)上,少量地使用swap是不是影響到系統(tǒng)性能的。
未完待續(xù)……

浙公網(wǎng)安備 33010602011771號