自從將公司電腦的Ubuntu系統(tǒng)升級(jí)到了Ubuntu 16.04 (之前是15.04), 每次開(kāi)機(jī)竟然耗時(shí)2分鐘左右, 簡(jiǎn)直不能忍! 咋能向Windows看齊(Windows都沒(méi)這么慢好嘛), 話(huà)說(shuō)以前的Macbook Pro高配開(kāi)機(jī)只要2秒鐘...
十載的中寧網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整中寧建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“中寧網(wǎng)站設(shè)計(jì)”,“中寧網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
那么如何找出拖慢開(kāi)機(jī)速度的元兇并將其禁用呢?
systemd-analyze有一些參數(shù),大體上來(lái)講就是一些功能, 可以用
來(lái)看看:
其中, 對(duì)我們比較有用的參數(shù)就是blame。
如果你平時(shí)使用git來(lái)進(jìn)行版本控制, 那你應(yīng)該知道有個(gè)命令叫
用git blame加文件名就可以看到文件中每一行最近是誰(shuí)更改的。
同理, systemd-analyze blame就是顯示開(kāi)機(jī)啟動(dòng)項(xiàng)的時(shí)間, 從最慢依次列出。
可以看到, 最慢的啟動(dòng)項(xiàng)是NetworkManager-wait-online.service, 竟然用了30秒, 不能忍!
禁用之:
但是,后來(lái)的使用中,我又發(fā)現(xiàn)一個(gè)拖慢系統(tǒng)的啟動(dòng)項(xiàng),叫 plymouth-quit-wait.service。這次用 disable 卻不能將其徹底禁用。
只能用 mask 來(lái)禁用,也就是:
為什么呢?
因?yàn)?mask 這個(gè) systemctl 命令的選項(xiàng)參數(shù)是比 disable 更強(qiáng)力的,可以用 man systemctl 來(lái)查看。
首先是 disable 的解釋?zhuān)?/p>
接著看 mask 選項(xiàng):
看到 mask 選項(xiàng)的解釋中有一句英語(yǔ)「This is a stronger version of disable, since it prohibits all kinds of activation of the unit, including enablement and manual activation.」
翻譯過(guò)來(lái)就是:「這是一個(gè)增強(qiáng)版本的 disable,因?yàn)樗柚沽怂屑せ钸@個(gè)單元的行為,包括啟用和手動(dòng)激活」。
可以看到執(zhí)行了上面的 sudo systemctl mask plymouth-quit-wait.service 這句命令后的輸出:
也就是說(shuō) mask 選項(xiàng)把 plymouth-quit-wait.service 直接軟鏈接到了 /dev/null 這個(gè)著名的「黑洞」中去了,然后世界就清凈了。
其實(shí), 昨天我還禁用了兩個(gè)啟動(dòng)項(xiàng), 都是fstab中的, 用于掛載(mount)服務(wù)器上的nfs磁盤(pán), 每一個(gè)竟然用了1分鐘左右 (用systemd-analyze blame看到的):
用vim編輯器打開(kāi)/etc/fstab文件(記得要加sudo哦, 不然不能修改此文件):
就是上圖中
那兩行, 表示
如何禁用呢?
在options那一列中加上 noauto即可, 表示不自動(dòng)啟動(dòng)。
auto是automatic的縮寫(xiě), 表示"自動(dòng)"。而noauto就是not/no automatic的縮寫(xiě), 表示"不自動(dòng)"。
用man fstab來(lái)學(xué)習(xí)一下fstab中每一列的含義:
可以看到, 默認(rèn)情況下(default中)是auto的, 也就是說(shuō)默認(rèn)情況下會(huì)在開(kāi)機(jī)時(shí)自動(dòng)掛載那兩個(gè)nfs磁盤(pán)。
如此處理之后, 再次重啟電腦:
這回, 電腦啟動(dòng)只要幾秒啦!
所以, 如果想加快開(kāi)機(jī)啟動(dòng), 只要先用
列出開(kāi)機(jī)啟動(dòng)項(xiàng)的時(shí)間, 然后禁用(用 systemctl disable 或 mask)那些很慢的即可。
本文整理自 My 5 Favorite Linux Shell Tricks for SPEEEEEED (and efficiency) 。這里列出的小技巧可以讓你在使用shell的時(shí)候更加高效~
設(shè)想這樣一個(gè)場(chǎng)景:你輸入了 apt-get update ,然后發(fā)現(xiàn)需要 sudo 權(quán)限才能運(yùn)行。除了通常的按下向上箭頭,然后移動(dòng)到行首添加 sudo 再運(yùn)行,你可以輸入
按下回車(chē)后,shell會(huì)生成 sudo apt-get update ,也就是說(shuō), !! 被替換為上一條命令的內(nèi)容。
翻譯過(guò)來(lái)可以理解為截?cái)嗝睿⑶抑匦抡迟N截?cái)鄡?nèi)容。這個(gè)操作類(lèi)似于emacs中的快捷鍵。我們可以使用 ctrl + K 來(lái)截?cái)喙鈽?biāo)后方的命令內(nèi)容,然后用 ctrl + Y 來(lái)重新粘貼截?cái)嗟膬?nèi)容。
例如:
注意 ctrl + Y 可以多次粘貼。
而如果想要截?cái)喙鈽?biāo)之前的內(nèi)容,可以用 ctrl + U 。(事實(shí)上很多emacs的快捷鍵都可以直接在shell環(huán)境下使用)
在開(kāi)發(fā)和調(diào)試過(guò)程中,我們常常會(huì)使用 tail -f 命令來(lái)追蹤日志的輸出。這種方式有一個(gè)問(wèn)題,即我們無(wú)法回溯更早的日志內(nèi)容。因此我推薦之后都使用 less +F 命令來(lái)追蹤日志內(nèi)容。這個(gè)命令同樣是從文件的尾部開(kāi)始輸出,然后在文件內(nèi)容更新時(shí)輸出更新內(nèi)容。在使用這個(gè)命令時(shí),可以按下 ctrl + C 組合鍵,然后用上下箭頭就可以遍歷整個(gè)文件了。之后按下 shift + F 來(lái)回到尾部追蹤的模式。
ctrl + x + e (按住ctrl,然后先按下x,再按下e),就可以彈出一個(gè)編輯器來(lái)編輯你當(dāng)前的命令。
設(shè)想如下的情形:
我們要對(duì)一個(gè)host進(jìn)行多次操作,而每次我們都要重新輸入一遍這個(gè)host的!這在調(diào)試和維護(hù)過(guò)程中是非常繁瑣的。 alt + . 就為我們提供了一個(gè)非常便捷的功能!按下這個(gè)命令可以粘貼上一條命令的參數(shù)。
Netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
執(zhí)行netstat后,其輸出結(jié)果為
從整體上看,netstat的輸出結(jié)果可以分為兩個(gè)部分:
一個(gè)是Active Internet connections,稱(chēng)為有源TCP連接,其中"Recv-Q"和"Send-Q"指%0A的是接收隊(duì)列和發(fā)送隊(duì)列。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊(duì)列中堆積。這種情況只能在非常少的情況見(jiàn)到。
另一個(gè)是Active UNIX domain sockets,稱(chēng)為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機(jī)通信,性能可以提高一倍)。
Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進(jìn)程號(hào),Types顯示套接口的類(lèi)型,State顯示套接口當(dāng)前的狀態(tài),Path表示連接到套接口的其它進(jìn)程使用的路徑名。
-a (all)顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽(tīng)) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴(kuò)展信息,例如uid等
-s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c 每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
列出所有端口 netstat -a
列出所有 tcp 端口 netstat -at
列出所有 udp 端口 netstat -au
只顯示監(jiān)聽(tīng)端口 netstat -l
只列出所有監(jiān)聽(tīng) tcp 端口 netstat -lt
只列出所有監(jiān)聽(tīng) udp 端口 netstat -lu
只列出所有監(jiān)聽(tīng) UNIX 端口 netstat -lx
顯示所有端口的統(tǒng)計(jì)信息 netstat -s
顯示 TCP 或 UDP 端口的統(tǒng)計(jì)信息 netstat -st 或 -su
netstat -p 可以與其它開(kāi)關(guān)一起使用,就可以添加 “PID/進(jìn)程名稱(chēng)” 到 netstat 輸出中,這樣 debugging 的時(shí)候可以很方便的發(fā)現(xiàn)特定端口運(yùn)行的程序。
當(dāng)你不想讓主機(jī),端口和用戶(hù)名顯示,使用 netstat -n。將會(huì)使用數(shù)字代替那些名稱(chēng)。
同樣可以加速輸出,因?yàn)椴挥眠M(jìn)行比對(duì)查詢(xún)。
如果只是不想讓這三個(gè)名稱(chēng)中的一個(gè)被顯示,使用以下命令
netstat 將每隔一秒輸出網(wǎng)絡(luò)信息。
在輸出的末尾,會(huì)有如下的信息
注意: 使用 netstat -rn 顯示數(shù)字格式,不查詢(xún)主機(jī)名稱(chēng)。
并不是所有的進(jìn)程都能找到,沒(méi)有權(quán)限的會(huì)不顯示,使用 root 權(quán)限查看所有的信息。
找出運(yùn)行在指定端口的進(jìn)程
顯示詳細(xì)信息,像是 ifconfig 使用 netstat -ie:
查看連接某服務(wù)端口最多的的IP地址
TCP各種狀態(tài)列表
;?????diff命令在最簡(jiǎn)單的情況下,比較給定的兩個(gè)文件的不同。如果使用“-”代替“文件”參數(shù),則要比較的內(nèi)容將來(lái)自標(biāo)準(zhǔn)輸入。diff命令是以逐行的方式,比較文本文件的異同處。如果該命令指定進(jìn)行目錄的比較,則將會(huì)比較該目錄中具有相同文件名的文件,而不會(huì)對(duì)其子目錄文件進(jìn)行任何比較操作。下面是linuxdiff命令的具體介紹:
diff(diff即different簡(jiǎn)寫(xiě))命令用于比較文件的差異。
選項(xiàng):
-
-a或——text:diff預(yù)設(shè)只會(huì)逐行比較文本文件;
-b或_ignore-space-change:不檢查空格字符的不同;
-B或_ignore-blank-lines:不檢查空白行;
-c:顯示全部?jī)?nèi)容,并標(biāo)出不同之處;
-C
-d或——minimal:使用不同的演算法,以小的單位來(lái)做比較;
-D
-e或——ed:此參數(shù)的輸出格式可用于ed的script文件;
-f或-forward-ed:輸出的格式類(lèi)似ed的script文件,但按照原來(lái)文件的順序來(lái)顯示不同處;
-H或_speed-large-files:比較大文件時(shí),可加快速度;
-l
-i或_ignore-case:不檢查大小寫(xiě)的不同;
-l或——paginate:將結(jié)果交由pr程序來(lái)分頁(yè);
-n或——rcs:將比較結(jié)果以RCS的格式來(lái)顯示;
-N或_new-file:在比較目錄時(shí),若文件A僅出現(xiàn)在某個(gè)目錄中,預(yù)設(shè)會(huì)顯示:Onlyin目錄,文件A若使用-N參數(shù),則diff會(huì)將文件A與一個(gè)空白的文件比較;
-p:若比較的文件為C語(yǔ)言的程序碼文件時(shí),顯示差異所在的函數(shù)名稱(chēng);
-P或_unidirectional-new-file:與-N類(lèi)似,但只有當(dāng)?shù)诙€(gè)目錄包含了第一個(gè)目錄所沒(méi)有的文件時(shí),才會(huì)將這個(gè)文件與空白的文件做比較;
-q或_brief僅顯示有無(wú)差異,不顯示詳細(xì)的信息;
-r或——recursive:比較子目錄中的文件;
-s或_report-identical-files:若沒(méi)有發(fā)現(xiàn)任何差異,仍然顯示信息;
-S
-t或_expand-tabs:在輸出時(shí),將tab字符展開(kāi);
-T或_initial-tab:在每行前面加上tab字符以便對(duì)齊;
-u,-U
-v或——version:顯示版本信息;
-w或_ignore-all-space:忽略全部的空格字符;
-W
-x
-X
-y或_side-by-side:以并列的方式顯示文件的異同之處;
_help:顯示幫助;
_left-column:在使用-y參數(shù)時(shí),若兩個(gè)文件某一行內(nèi)容相同,則僅在左側(cè)的欄位顯示該行內(nèi)容;
_suppress-common-lines:在使用-y參數(shù)時(shí),僅顯示不同之處。
以上就是今天的分享了,希望可以幫助到大家。
本文章基于thinkpadE15品牌、centos7系統(tǒng)撰寫(xiě)的。
文章題目:linux加速命令 Linux 加速器
本文來(lái)源:http://chinadenli.net/article22/hgdsjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、虛擬主機(jī)、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、定制開(kāi)發(fā)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容