1. 程式人生 > >Linux優化不知如何下手?那你的看看這篇文章了

Linux優化不知如何下手?那你的看看這篇文章了

些問題或者場景,你是否曾經遇到過?

流量高峰期,伺服器CPU使用率過高報警,你登入Linux上去top完之後,卻不知道怎麼進一步定位,到底是系統CPU資源太少,還是程式併發部分寫的有問題?

系統並沒有跑什麼吃記憶體的程式,但是敲完free命令之後,卻發現系統已經沒有什麼記憶體了,那到底是哪裡佔用了記憶體?為什麼?

一大早就收到Zabbix告警,你發現某臺存放監控資料的資料庫主機CPU的I/O Wait較高,這個時候該怎麼辦?

作為一個程式設計師,效能優化是無法避開的事情,不管是桌面應用還是web應用,不管是前端還是後端,不管是單點應用還是分散式系統,並且效能優化也是軟體系統中最有挑戰的工作之一,更是每個工程師都需要掌握的核心技能

但是在實際的工作中,很多情況下只能看到症狀,卻完全不知道該從哪兒下手去排查和解決它。

之前有讀者問過到,胖哥有沒有系統學習Linux效能優化的書籍推薦?

網上的資料和書籍可以擴充底層知識體系,從虛擬化的原理、到作業系統和網路原理、再到Linux核心和硬體驅動程式等等。

但是Linux效能優化是個系統工程,除了基礎知識點之外,學習中還有兩點是比較重要的:

第一、要學習大量效能優化的思路和方法,嘗試大量的Linux效能工具。

第二、要不斷的實踐和總結。這樣你才能把觀察到的效能問題跟系統原理關聯起來,特別是把系統從應用程式、庫函式、系統呼叫、再到核心和硬體等不同的層級貫穿起來。

對於我們大多數人來說,最好的學習方式一定是帶著問題學習,而不是先去啃那幾本厚厚的原理書籍,這樣容易把自己的信心壓垮。我認為,學習要會抓重點,只要你瞭解少數幾個系統元件的基本原理和協作方式,掌握基本的效能指標和工具,學習實際工作中效能優化的常用技巧,你就已經可以準確分析和優化大多數的效能問題了。

在這個認知和基礎上,再反過來去閱讀那些經典的作業系統或者其它圖書,你才能事半功倍