偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

優(yōu)化了一波Linux性能,面試官讓我出門左拐

系統(tǒng) Linux
關(guān)于 Linux? 系統(tǒng)是什么東西,我們在這里直接不進(jìn)行贅述了,畢竟大家已經(jīng)都是作為有經(jīng)驗(yàn)的開發(fā)人員,就算是沒有工作經(jīng)驗(yàn)的人,至少也都知道,目前市場上比較流行的操作系統(tǒng),就這么幾種了,而這個(gè)Linux? 也是我們在開發(fā)中經(jīng)常用到的,但是你真的會(huì) Linux? 一些高級操作么?比如如何優(yōu)化 Linux 的各種性能。

作為一個(gè)技術(shù)博主,了不起不是在創(chuàng)作就是在創(chuàng)作的路上(當(dāng)然偶爾也會(huì)有點(diǎn)恰飯文~還指望大家多多支持),今天我們不說數(shù)據(jù)結(jié)構(gòu),我們來說說關(guān)于這個(gè) Linux? ,之前了不起也給大家說過關(guān)于 Linux? 的學(xué)習(xí),以及在 Linux? 下如果編寫 Shell? 腳本,今天我們來看的,不是Linux 下的基礎(chǔ)命令的了,而是一些相對來說比較有意思的內(nèi)容。

Linux

關(guān)于 Linux? 系統(tǒng)是什么東西,我們在這里直接不進(jìn)行贅述了,畢竟大家已經(jīng)都是作為有經(jīng)驗(yàn)的開發(fā)人員,就算是沒有工作經(jīng)驗(yàn)的人,至少也都知道,目前市場上比較流行的操作系統(tǒng),就這么幾種了,而這個(gè)Linux? 也是我們在開發(fā)中經(jīng)常用到的,但是你真的會(huì) Linux? 一些高級操作么?比如如何優(yōu)化 Linux 的各種性能。

Linux 的性能優(yōu)化

說實(shí)話,干開發(fā)的,說到性能優(yōu)化,那可不單單只是對于 Linux 來進(jìn)行,而是針對各個(gè)方面的內(nèi)容,比如::

程序設(shè)計(jì)、編程語言,再到系統(tǒng)、存儲(chǔ)、網(wǎng)絡(luò)等各種 底層基礎(chǔ)設(shè)施的方方面面,每一個(gè)組件都有可能出問題,而且很有可能多個(gè)組件同時(shí)出問題。

了不起之前也說了關(guān)于這個(gè) SQL? 方面的優(yōu)化,我們今天只是來說這個(gè) Linux 的性能優(yōu)化的。

要說性能優(yōu)化,肯定得說性能指標(biāo),那么性能指標(biāo)指的是什么呢?

性能指標(biāo):“高并發(fā)”和“響應(yīng)快”是從應(yīng)用負(fù)載的視角來考察性能,直接影響了產(chǎn)品終端的用戶體驗(yàn)。也正對應(yīng)著性能優(yōu)化的兩個(gè)核心指標(biāo)——“吞吐”和“延時(shí)”。

Linux 性能優(yōu)化-CPU

既然說到 CPU 的性能優(yōu)化,那么首先我們要知道一個(gè)概念,那就是平均負(fù)載率。

平均負(fù)載率是什么呢?

平均負(fù)載是指單位時(shí)間內(nèi),系統(tǒng)處于 可運(yùn)行狀態(tài) 和 不可中斷狀態(tài) 的平均進(jìn)程數(shù),也就是平均活躍進(jìn)程數(shù),它和 CPU 使用率并沒有直接關(guān)系。

切記,這個(gè)平均負(fù)載率不是說 CPU 的使用率,而是平均活躍進(jìn)程數(shù)。

至于這個(gè)可運(yùn)行進(jìn)程呵呵這個(gè)不可終端狀態(tài)進(jìn)程遷就更簡單了。

  • 可運(yùn)行狀態(tài)的進(jìn)程

是指正在使用 CPU? 或者正在等待 CPU? 的進(jìn)程,也就是我們常用 ps? 命令看到的,處于 R? 狀態(tài)(Running? 或 Runnable)的進(jìn)程

  • 不可中斷狀態(tài)的進(jìn)程

是正處于內(nèi)核態(tài)關(guān)鍵流程中的進(jìn)程,并且這些流程是不可打斷的, 比如最常見的是等待硬件設(shè)備的 I/O 響應(yīng),也就是我們在 ps? 命令中看到的 D? 狀態(tài) (Uninterruptible Sleep?,也稱為 Disk Sleep)的進(jìn)程。

那么我們應(yīng)該怎么取查看系統(tǒng)的負(fù)載呢?

uptime

圖片

結(jié)果就是上面的圖,那么都代表了什么意思呢?

17:17:34 // 當(dāng)前時(shí)間
up 8 days // 系統(tǒng)運(yùn)行時(shí)間
3 users // 正在登錄用戶數(shù)
load average: 0.16, 0.12, 0.17 //三個(gè)數(shù)字呢,依次則是過去 1 分鐘、5 分鐘、15 分鐘的平均負(fù)載

如果 1 分鐘、5 分鐘、15 分鐘的三個(gè)值基本相同,或者相差不大,那就說明系統(tǒng)負(fù)載很平穩(wěn)。

如果 1 分鐘的值遠(yuǎn)小于 15 分鐘的值,就說明系統(tǒng)最近 1 分鐘的負(fù)載在減少,而過去 15 分鐘內(nèi)卻有很大的負(fù)載。

如果 1 分鐘的值遠(yuǎn)大于 15 分鐘的值,就說明最近 1 分鐘的負(fù)載在增加,這種 增加有可能只是臨時(shí)性的,也有可能還會(huì)持續(xù)增加下去,所以就需要持續(xù)觀察。一旦 1 分鐘的平均負(fù)載接近或超過了 CPU 的個(gè)數(shù),就意味著系統(tǒng)正在發(fā)生過載的問題,這時(shí)就 得分析調(diào)查是哪里導(dǎo)致的問題,并要想辦法優(yōu)化了。

其實(shí)總結(jié)起來就很簡單,如果 load average 參數(shù)三個(gè)參數(shù)區(qū)別不大,那么就是很平穩(wěn),如果第一個(gè)小于第三個(gè)并且差值很大,那么負(fù)載很大,如果第一個(gè)值遠(yuǎn)大于第三個(gè)只,那么就得需要排查一下,會(huì)不會(huì)出現(xiàn)超出負(fù)載的狀況了。

那么這個(gè)平均負(fù)載什么時(shí)候是最合適的呢?

其實(shí)這個(gè)平均負(fù)載最合適的狀態(tài)就是和 CPU? 的個(gè)數(shù)持平,怎么查看 CPU 的個(gè)數(shù)呢?

cat /proc/cpuinfo | grep 'processor' | wc -l
8

我們可以看到,這個(gè)邏輯 CPU 的個(gè)數(shù)是 8個(gè),

當(dāng)平均負(fù)載比 CPU 個(gè)數(shù)還大的時(shí)候,系統(tǒng)已經(jīng)出現(xiàn) 了過載。在觀察負(fù)載數(shù)據(jù)時(shí),我們有三個(gè)時(shí)間點(diǎn)的數(shù)據(jù),因此 都要看。三個(gè)不同時(shí)間間隔的平均值,其實(shí)給我們提供了,分析系統(tǒng)負(fù)載趨勢的 數(shù)據(jù)來源,讓我們能更全面的理解目前的負(fù)載狀況。

當(dāng)平均負(fù)載高于 CPU 數(shù)量 70% 的時(shí)候,你就應(yīng)該分析排查負(fù)載高的問題了(70% 這個(gè)數(shù)字并不是絕對的,最推薦的方法)。

其實(shí) Linux 也是有很多的系統(tǒng)壓力測試工具的。

比如:sysstat 工具,就是,用來監(jiān)控和分析系統(tǒng)的性能。

至于工具怎么用,了不起在這里就不多做介紹了,畢竟這個(gè)內(nèi)容不是咱們今天想說的。

其實(shí)主要就是來定位哪個(gè)異常的進(jìn)程,然后吧這個(gè)異常的線程直接給他干掉,先保證 Linux 的正常,然后在找這個(gè)異常進(jìn)程出現(xiàn)的原因,最終解決掉這個(gè)問題。

CPU 使用率

上面我們說到了這個(gè) CPU? 使用率,那么什么是 CPU 使用率呢?

CPU 使用率 = 1- (空閑時(shí)間/總 CPU 時(shí)間)

其實(shí)還可以使用 top 命令來查看系統(tǒng)總體的CPU和內(nèi)存使用情況,以及各個(gè)進(jìn)程的資源使用情況。

知道怎么通過 CPU? 來優(yōu)化 Linux 性能了么?學(xué)會(huì)了么?

責(zé)任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2020-05-22 08:11:48

線程池JVM面試

2021-01-01 09:03:44

故障HAProxy服務(wù)器

2022-09-06 07:57:10

生命周期SpringIoC

2021-03-24 10:25:24

優(yōu)化VUE性能

2023-03-08 07:46:53

面試官優(yōu)化結(jié)構(gòu)體

2021-08-02 08:34:20

React性能優(yōu)化

2021-12-02 08:19:06

MVCC面試數(shù)據(jù)庫

2025-03-04 08:06:17

2022-11-15 17:45:46

數(shù)據(jù)庫MySQL

2022-02-11 19:06:29

MySQL索引面試官

2024-08-05 01:26:54

2025-02-27 00:08:24

2022-10-10 12:31:37

服務(wù)器性能

2020-08-03 07:04:54

測試面試官應(yīng)用程序

2025-03-26 01:25:00

MySQL優(yōu)化事務(wù)

2020-09-17 17:53:12

面試ArrayList數(shù)組

2019-12-02 10:51:11

Redis存儲(chǔ)系統(tǒng)

2021-09-28 13:42:55

Chrome Devwebsocket網(wǎng)絡(luò)協(xié)議

2022-07-13 17:47:54

布局Flex代碼

2024-03-07 17:21:12

HotSpotJVMHot Code
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號