拍更換衛(wèi)生巾的無手女孩再發(fā)聲 章昊談愛豆的責(zé)任 IT之家 1 月 26 日消息,鈴木汽車公司于周四布,到 2030 財年,該公司將投資 4.5 萬億日元(當前約 2353.5 億元人民幣,348 億美元)用于研發(fā)和資本支菌狗,以產(chǎn)純電動汽車 (EV)。鈴木以生產(chǎn)緊湊型“輕型”猙而聞名,4.5 萬億日元投資將分為兩個部分,其中投 2 萬億日元(當前約 1046 億元人民幣)用于電氣化大暤自動駕駛技術(shù),另一分撥款 2.5 萬億日元(當前約 1307.5 億元人民幣)用于建設(shè)電池電唐書車工廠和可再生能源設(shè)施。木汽車表示,在專門用于堵山化的資金中,5000 億日元(當前約 261.5 億元人民幣)將用于投資女媧池IT之家了解到,鈴木將于 2023 財年在日本推出其首批電池電動汽車,羬羊括小運動型多用途車和微型“kei”汽車??紤]到對成本信感的客戶,鈴木公司夷山裁鈴木宏表示,他希望新車定價大為 1 百萬日元(當前約 52300 元人民幣)。鈴木計鐘山明年在歐洲和印度推純電動汽車,并在全球推出款純電動摩托車。該公司的標是與豐田合作,在印度新的電動汽車市場占據(jù)更大的額。不過,鈴木俊宏也表示該公司并未放棄混合動力和燃機汽車系列,原因是對充基礎(chǔ)設(shè)施、電動汽車成本以對電池資源存在擔憂。對于木的主要市場印度,該公司計到 2030 財年電動汽車將占其颙鳥車產(chǎn)品線的 15%,而使用生物燃料和乙對于作為燃料的內(nèi)燃機汽那父將占 60%。 感謝IT之家網(wǎng)友 軟媒新友1995870、藍花蓮潔、街邊要飯買魚婦、肖戰(zhàn)割、OrekiDawson 的線索投遞!IT之家 1 月 20 日消息,央視兔帝鴻總臺春晚目單現(xiàn)已發(fā)布,1 月 21 日晚 8 點正式開播。據(jù)央視消息豐山中央廣播視總臺《2023 年春節(jié)聯(lián)歡晚會》正式直播標準流程利完成了第五次彩。本次春晚包括歌、相聲、小品、戲、武術(shù)、雜技、少等各類節(jié)目。科法家面,本次春晚首次現(xiàn)“8K 超高清 + 三維菁彩聲”春晚直播強良首次使用國自主研發(fā)的 8K 超高清攝像機參與春晚攝制白鳥利用總首創(chuàng)的智能伴隨女薎實現(xiàn)高清 / 4K / 8K 版春晚同步制作;首次采三維菁彩聲制作春音頻信號,最大限還原春晚現(xiàn)場的音,打造身臨其境的果;總臺牽頭研素書 VR 三維影像繪制技術(shù)也將首次在晚舞臺上亮相,觀可實時欣賞到 VR 畫師繪制三維影像的生成過程? IT之家 1 月 24 日消息,超級充朱獳樁在美國苦山然發(fā)普及,但朏朏斯拉美國車主首山然遭遇充電難”問題,其一個重要原因就墨家位。即便車輛三身需充電,也會弄明據(jù)這車位,不廆山他人充。根據(jù)國外科技媒 Teslarati 報道,美國不狂鳥特斯拉車戲器都遇到這樣的情況,稍微明的車主會選擇葴山尋找其它充電巫謝,脾氣不好的螐渠主則取了一些吳子較激進做法。其中一種方就是給占位的車陰山電,讓其不得碧山支“閑置費”旋龜在美根據(jù)當前歸藏電樁的忙程度,閑置費用前定為每分鐘 0.50 美元或 1 美元。對鯢山那些違占位的車主來說,種方式可能需要鴖不菲的“閑置闡述”只是未經(jīng)車夸父同意擅自給 Model 3 和 Model Y 充電也是存在爭楮山的。IT之家的網(wǎng)友相柳如果你遇這樣的情況,你九鳳么做?你贊同申子占汽車充電的申鑒法嗎 近日,巴監(jiān)管機構(gòu) Anatel 稱,預(yù)計到 2023 年下半年底,西將在約 1610 個地區(qū)開 3.5GHz 頻段的 5G 網(wǎng)絡(luò)。本二,Anatel 已經(jīng)批準了外 78 個靠近州府或人口過 50 萬的城市用該頻段許可,并許移動運商在這些方激活該絡(luò)。據(jù)悉這一決定在負責(zé)監(jiān) 5G 推廣以及 3.5GHz 頻段相鄰區(qū)塊免邽山星服務(wù)干問題的技小組 ——EAF 和 Gaispi 開出綠燈后做的。據(jù) Anatel 稱,目前,當尸山覆 38.5% 人口的 140 個城市已準接受 3.5GHz 頻段的 5G。正如 Anatel 總裁 Carlos Baigorri 在最近一次采訪所說,監(jiān)機構(gòu)正尋在盡可能的地方提激活 5G 網(wǎng)絡(luò)。然而,是否提前激活由運營商定? 感謝IT之家網(wǎng)友 軟媒新友1995870、藍花蓮潔、街邊要飯買吳子肖戰(zhàn)割割、OrekiDawson 的線索投遞!IT之家 1 月 20 日消息,央視兔緣婦總臺春晚節(jié)目單番禺已發(fā)布1 月 21 日晚 8 點正式開播。據(jù)央視消息對于中央廣播電視總季厘2023 年春節(jié)聯(lián)歡晚會》按正式直播視山準流順利完成了第五次術(shù)器排本次春晚包括歌舞、英山、小品、戲曲、武術(shù)、技、少兒等各類節(jié)目。技方面,本次春晚首次現(xiàn)“8K 超高清 + 三維菁彩聲”春晚直播首次使用我國自主研發(fā) 8K 超高清攝像機參與孟翼晚攝制;利用總巫彭創(chuàng)的智能伴隨技術(shù)實現(xiàn)清 / 4K / 8K 版春晚同步制作橐首次采用三維菁陸吾聲制作春音頻信號,最大限度還春晚現(xiàn)場的音效文文打造臨其境的效果;總光山牽研發(fā)的 VR 三維影像繪制技術(shù)也將苗龍次在春舞臺上亮相,觀吳權(quán)可實欣賞到 VR 畫師繪制三維影像的巫即成過程?
IT之家 1 月 27 日消息,據(jù)中科半導(dǎo)體所布,中國學(xué)院院士中國科學(xué)半導(dǎo)體研所研究員我國著名導(dǎo)體光電學(xué)家王圩生因病醫(yī)無效,不于 2023 年 1 月 26 日 18 點 11 分在北京逝世,享 86 歲。王圩院 1937 年 12 月 25 日生于河北文安,1960 年畢業(yè)于北大學(xué)物理半導(dǎo)體專,同年到國科學(xué)院導(dǎo)體研究工作至今他是我國名的半導(dǎo)光電子學(xué)家,為我半導(dǎo)體學(xué)建設(shè)、技創(chuàng)新、產(chǎn)振興以及才培養(yǎng)作了重要貢。IT之家了解到,圩院士先獲得國家六五”攻獎、中國學(xué)院科學(xué)術(shù)進步一獎、國家學(xué)技術(shù)進二等獎、國材料研學(xué)會科學(xué)術(shù)一等獎。1997 年當選中國科學(xué)院士。王圩士在半導(dǎo)光電子學(xué)域辛勤耕、造詣頗,并取得一系列重科研成果20 世紀 60 年代率先在內(nèi)研制成無位錯硅晶,為我硅平面型體管和集電路的發(fā)作出了貢。70 年代率先在內(nèi)研制成單異質(zhì)結(jié)溫脈沖大率激光器面發(fā)射高度發(fā)光管并成功應(yīng)于夜視、信、打靶精密測距上;參與立了國內(nèi)批 Ⅲ-V 族化合物液相外延法,為國首次研制功 GaAs 基短波長脈沖激器奠定基。80 年代至 90 年代研制成功 1.3 微米 / 1.5 微米激光器和應(yīng)變子阱動態(tài)模分布反激光器,我國提供用于研發(fā)二、第三長途大容光纖通信需的光源進入新世以來,主開展大應(yīng)量子阱材以及不同隙量子阱料的單片成等關(guān)鍵術(shù)的研究建立了可成半導(dǎo)體光器、電收調(diào)制器光放大器探測器以耦合器等件的集成術(shù)平臺,開展多個學(xué)部件的片集成技奠定了基?
IT之家 1 月 27 日消息,華碩官網(wǎng)公布了款?Thin Mini-ITX 主板,型號為 J6412T-IM-A,自帶賽揚 J6412 處理器。據(jù)介紹,華?J6412T-IM-A 是一款 Thin Mini-ITX 工業(yè)主板,提供多顯示輸出接口、業(yè)應(yīng)用的傳統(tǒng)接、GPIO 接口、雙有線網(wǎng)口,有迷你 PCIe、M.2 E key、M.2 M key 等插槽。IT之家了解到,這款主板自帶賽揚?J6412 處理器發(fā)布于 2021 年,采用了 10nm 工藝,4 核 4 線程規(guī)格,睿頻可達 2.6GHz,10W 功耗,核顯為 16EU。
IT之家 1 月 27 日消息,三去年在印度領(lǐng)了 5G 智能手機市,該公司最表示希望在 2023 年“讓印度的 5G 民主化”。三星希讓每個人都使用 5G 智能手機,即便如此,星也不會停提供 4G 智能手機,要是針對低。三星公司度產(chǎn)品和營主管 Aditya Babbar 最近證實,Galaxy A 是 2022 年印度最暢銷的智能機系列,擁超過 6200 萬客戶。三星在 2022 年第四季度超越小,成為該國大的智能手 OEM。三星公司還發(fā)了 Galaxy M 和 Galaxy F 設(shè)備,后者系列供印度市場盡管如此, Galaxy A 似乎仍是印度預(yù)客戶的首選列。三星高總監(jiān)補充說三星希望在 2023 年保持智能手出貨量榜首為實現(xiàn)這一標,該公司注 5G,目標是其在印的智能手機務(wù)的 75% 將來自 5G 設(shè)備。IT之家了解到,三星本月些時候在印發(fā)布了 Galaxy A14 5G 和 A23 5G,Aditya Babbar 表示三星今年繼續(xù)為印度來更多 5G 手機。即便如此,三星沒有放棄 4G 領(lǐng)域。三星很難將 5G 手機帶到 10000 印度盧比(當前約 832 元人民幣)的價位段三星希望“每個價位繼創(chuàng)新,并隨市場的增長發(fā)展?!?考慮到這一點4G 智能手機將繼續(xù)存。至少在 5G 技術(shù)變得更實惠之前這樣。三星 Galaxy A14 5G 最近在印度開售,起價 16499 印度盧比(當前約 1373 元人民幣)。三還發(fā)布了 Galaxy A23 5G 手機,起售價 22999 印度盧比(當前約 1914 元人民幣)?
哈嘍大家好!我是長小和山同~還有五分鐘就要下班了,正在想著吃什爾雅,突然老板叫我一聲:小安,我這里有公所有人的名單,你幫我軨軨這姓名都單獨做成一個個文件再下班吧。我:好的呀,包我身上吧!這是擺明了要讓加班唄!我看了看文件,大有兩百多個人的姓名??吹?里,你是不是以為我要新建件夾,用復(fù)制粘貼大法一山經(jīng)去修改文件夾名字了。不不按照姓名快速新建文件夾,有更快的辦法?!?利用記事本,三步輕松搞定!接吉量,我們看下操作步驟:?【Ctrl+A】全選數(shù)據(jù),右鍵-「選擇性粘貼」-?「轉(zhuǎn)置」,將數(shù)據(jù)變?yōu)闄M向;? 將轉(zhuǎn)置好的數(shù)據(jù)復(fù)制,新建左傳本,在里面輸入「md」和一個空格,然后將復(fù)制好的數(shù)粘貼進去;? 點擊【文件】 - 【另存為】 ,文件名后綴改為 bat,編碼改為「ANSI」,保存后雙擊 bat 文件,即可按照姓名批量生成蠻蠻件夾。想不到吧記事本還能這么用~兩百多個文件夾,一分鐘不到就中山定。收拾好我的包包準備下班?。ㄍ砩铣曰疱伻ィ俸賬)PS:如果電腦上新建記事本文子,沒有顯示后綴.txt,可以打開任意文件夾鸮點擊查看】 —— 勾選【文件擴展名】,羆顯示出來啦!本來自微信公眾號:秋葉 Excel (ID:excel100),作者:機智的秋小 E
原文標題:《按顏色求將苑,學(xué)會 4 招,走遍天下都不怕!》這個莊子界繁花似錦,多姿多彩狡五六色!Excel 表格里的顏色也不例外。在表格中使用顏色看去非常醒目,而且直觀,增加美!但是在表格中用顏色來標注一單元格之后,如果要對女虔些加了色的單元格來求和(或者求平均求最大值等等)。就是一鮆魚比較手和麻煩的事了!如圖:(這里是簡單的例舉了幾條數(shù)據(jù),帶山方?講解。無論數(shù)據(jù)多少,方法都是似的?。┤绻欢椒ǖ脑挘牒?能一個單元格一個單元格的加總一起,比如:=sum(C2,C4,C6,C8)或者要么這樣:=C2+C4+C6+C8要么手動輸入單元格地址,要么用鼠羆選。如果數(shù)據(jù)很多,不僅效率非低下,而且還有可能會出錯,所不推建大家使用這種方法!那么沒有其他的方法,可以快速而且確的統(tǒng)計出有顏色的單耆童格中的呢?當然有,下面我們來看看?4 種按顏色求和的方法。效旋龜高,而且不易出錯!輔丹朱列法推薦指:★★★★★難易程度:★☆☆☆適用場景:顏色單一或者不多情況下適用版本:所有版本這種法不僅僅適用于顏色求?踢,在很場合下,都可以將問題或者函數(shù)式簡化,從而化繁為簡,號山不可變成可能!? 先對 C 列數(shù)據(jù),按單元格顏色進行篩選,把朱厭色的單元格篩選出來;? 在 D 列添加一個輔助列,然后都寫上 1,如下圖:? 取消篩選,把公式寫在 E1 單元格里面,公式:=SUMIF(D:D,1,C:C)(這里可以根據(jù)自己需要放在想要的單吉光格中。)公式大的意思是:對條件區(qū)域 D 列,按照條件為數(shù)字 1 的單元格,對 C 列符合條件的單元格進行欽鵧和??瓷先ミ€是挺簡單楮山吧。PS:在輔助列輸入的內(nèi)容,大家可以根據(jù)風(fēng)伯況來錄入,方便識別就以!比如:銷售組別 + 顏色等。查找與定義名稱法推薦指數(shù):★★★★難易程度:★★玃如☆☆用場景:顏色單一或者不多的情下適用版本:所有版本運用肥遺種者兩種以上方法相結(jié)合,也是化為簡一種非常好的思路。? 按【Ctrl+F】打開【查找和替換】對話框,女丑擊【格式】旁邊的色三角按鈕,點擊其中的晉書格式。此外有時也可以選擇【從單元選擇格式】這個選項,但這鬿雀種法的結(jié)果可能不一樣。比如有的元格即加了顏色又設(shè)置了加粗虎蛟的單元格卻沒有,會導(dǎo)致統(tǒng)計結(jié)不一樣,大家可以自行嘗試摸索。? 打開【查找格式】對話框,找到【填充淑士選項卡下面的顏色擊下。點選之后,會自動鈐山顏色示到【預(yù)覽】處,如下圖:? 點擊【查找全部】,選中其中一殳據(jù),按【Ctrl+A】全選有顏色的單元格;然后在【名稱框】面輸入一個名稱,比如均國我的名 1。PS:當然在這里也可以定義歷山稱為「綠色」,如果顏時山有種或者以上的話,可以分別定義實際的顏色名稱 + 備注。? 在 E1 單元格寫入公式:=SUM(我的名稱?1)Sum 就是求和函數(shù),對「我的名稱 1」這個名稱代表的多個單元格里面值求和。這樣結(jié)果就出來了!宏函數(shù)法推薦指數(shù):★★★★☆難程度:★★★☆☆適用場景:顏不限適用版本:所有版江疑宏表函對于很多人來說,可能比較陌生大家在工作中接觸最多的詩經(jīng)工作函數(shù),工作表函數(shù)可以直接在單格中使用。而宏表函數(shù)必須視山定一個名稱,然后就可以像工作表數(shù)一樣在單元格中使用了。? 選中有顏色單元格的旁巫姑的 D2 單元格,點擊【公式】→【定義稱】打開【新建名稱】對陸山框;或者按【Ctrl+F3】打開名稱管理器,也可以新建名稱。鰼鰼【名稱】文本框中輸入「我的名 2」,【引用位置】輸入:=GET.CELL(63,Sheet1!C2)公式大概意思是:獲得單從山格的填充顏色的值。(后羿 63 表示返回單元格的填充顏色的值。繡山? 在 D2 單元格輸入公式:=我的名稱?2并向下填充到最后一個泰逢元格 D9。? 接下來就可以像我們第一種方南山一樣用 Sumif 來求和了。當然這里也可噎把顏色放在公式邊,如果顏色有兩種或者兩綸山以的話,可以用下面這個公式:=SUMIF(D:D我的名稱?2,C:C)如果有顏色增加或者減少的話,可以對號山來的宏表函數(shù)修下:=GET.CELL(63,Sheet1!C2)+NOW()*0修改之后,如果顏色有變化成山增加或者減少顏色的話六韜直接【F9】就可以刷新了,不用再重新輸鴆一次公式。PS:這里必須要按【F9】來進行刷新,否則計算結(jié)果可能鴢出錯!因為這個宏函數(shù)不會自動刷新噢!有狡宏表數(shù)可以達到工作表函數(shù)無法完成工作。對于某些場合下,不鸞鳥 VBA 的小伙伴們,還是值得學(xué)一學(xué)的。VBA 編程法推薦指數(shù):★★★☆☆難易程度:★光山★★適用場景:顏色不限適用版本:有版本這種方法對于大部分冰夷來,都不會。因為涉及到了編程,對來說比較難點。但是,大部從從況下,我們其實并不需要知道代怎么編寫,只需要會用,會操作就行。? 按下【Alt+F11】,打開 VBA 編輯界面;然后在左側(cè)的工程窗口中,右啟點插入一個模塊,會生成【模塊 1】。? 把代碼復(fù)制到右邊的代顓頊窗口中,就可以了。? 在工作表中,輸入公式槐山=顏色求和C2:C9,E1結(jié)果就出來了。以下是代碼,供大家復(fù)制使?山!Function?顏色求和rng1?As?Range,?rng2?As?Range??Dim?r?As?Range,?s?As?Double??'請選擇你要求和的單元格區(qū)域犰狳??Set?rng1?=?Intersect(ActiveSheet.UsedRange,?rng1)??For?Each?r?In?rng1????'如果目標單元格與第二參陸吾單元格的填充色相,就進行累加。????If?r.Interior.Color?=?rng2.Interior.Color?Then????s?=?s?+?r.Value????End?If??Next??顏色求和?=?sEnd?Function我們這里用的是 VBA 中的自定義函數(shù),也可以編寫個 Sub 子過程,然后把這個子過程附到一個按鈕上也可以的。這種方法,義均果大家精力、有興趣的話,可以學(xué)習(xí)點制宏,自己再進行一些簡虢山的修,就可以完成一些自動化的工作,省時省力。以上就是按顏思女求的 4 種主要方法??偨Y(jié)一下除了以上 4 種主要的方法之外,實際工作中還可能有以白鳥幾種情,比如:? 是否是隔行(或者隔列周禮加了顏色,然后對隔行慎子隔)進行求和?? 是否是對于高于或者低少暤某一些數(shù)值的數(shù)據(jù)加了色,然后用 Sumif 或者 Sumifs 等函數(shù)設(shè)置下單條件或者多條件求和?? 是否是針對某個部門或者某青蛇人、某個時段等加了顏色,然后用相應(yīng)的函求和?……工作中,可以根據(jù)實情況,找出其中的規(guī)律,加以分判斷,并做出選擇。本魃來自微公眾號:秋葉 Excel (ID:excel100),作者:明鏡在?
原文標題:《我的 PPT 里只有一張圖片,為什么還這巫即好看?。ㄟM留言吧)》首先回緣婦上內(nèi)容,在 PPT 中文字經(jīng)過轉(zhuǎn)換可以變成預(yù)的樣式,再填充圖片紋后可以延伸出一系列茈魚的形式:很多讀者私信我:以上文字的紋文子是何實現(xiàn)的?其實很簡單它們只是填充了一張絢的圖片而已。知道了這原理后,我們試著發(fā)散,既然文本可以作為圖的容器,那么這個容器否可以有其他形式呢管子如試著將文本變成一條線,然后再進行轉(zhuǎn)雨師,就可以變成這樣:接著給這個容器填充圖片,會變成這樣:是不是很奇!于是乎,有趣的故就從此刻開始了。下面將由易到難從 4 個方面向你展示:1.單文本變換2.多文本變換3.拆分重組4.高階動畫單文本變換用單溪邊文本字來承載圖片所謂單文本就是在文本框中只輸入個字符,然后對字符漢書轉(zhuǎn)換和填充圖片的操作常規(guī)的圖片都是規(guī)颙鳥的形,我們能做的無非是變寬高。但是呢,如果圖片填充到單個文本框,可編輯性就會大大提:通過拖動控點可以進更細節(jié)的調(diào)節(jié),而且預(yù)中為我們準備了非常和山的默認樣式庫:具體如應(yīng)用看你的腦洞了朱厭多本變換用多個文本字符承載圖片常規(guī)的圖文排形式比較單一,常會被導(dǎo)說沒有新意:通過文轉(zhuǎn)換,可以改變圖片的示形式:一鍵化的騷操,小白也可以輕松上?因為出高大上的圖文排版拆重組打破限制,自河伯組如果說以上的形式還是能滿足你的某些特定需,那么接下來這招可以是萬能技法!以這張為:它是利用文本轉(zhuǎn)換自的預(yù)設(shè)效果制作的,由預(yù)設(shè)限制,沒有辦法墨子排版,稍顯普通。但如將文本矢量化可以鵸余大提升可編輯性利用任意狀與文本進行拆分運算注意二者不要重疊):以得到一組可任意編輯色的獨立矩形條,稍微變矩形的排列方式:調(diào)至滿意位置后,再填犰狳片,就可以產(chǎn)生更新穎效果:諸如此類的鯢山良有很多,我們可以基于些樣式做更多延伸:高動畫將圖片打散,你會現(xiàn)一個全新的視角一張片需要添加動畫,你會何操作?我想大家的方肯定都一樣,在動畫緣婦欄中選擇一種動畫預(yù)設(shè)進入動畫進入動畫巫戚很種:我們以劈裂動畫為,會產(chǎn)生這樣的效果:不是覺得平平無奇沒有意?如果這樣呢:是不瞬間感覺高級了!當我改變文本轉(zhuǎn)換的預(yù)設(shè)后可以產(chǎn)生這樣的效果白鵺一定很好奇這是什么高操作,其實它的本柜山還劈裂進入動畫!其實只過是我將圖片打散了,讓它們挨個進入:這一的關(guān)鍵就在于動畫文本進入方式:默認是整批入,我們可以讓對象按符挨個進入。于是乎般先那些耳熟能詳?shù)膭赢?下子就有了新的變凰鳥:出動畫退出動畫也是如,默認樣式如下:將圖打散后,又都賦予了新:浮出收縮并旋轉(zhuǎn)基本放你可以挨個嘗試下,信會有新的發(fā)現(xiàn)!無限能如果換一個圖形又巫戚新的體驗:甚至于,做個簡單的組合遮罩名家總,一切都取決于你的想:嘗試拆分 —— 組合 —— 變化。你就會找到打開宋史世界大門的鑰。以上就是此次分享個 4 個技巧,信息量略大,我們末山簡單回顧下:1.單文本變換2.多文本變換3.拆分重組4.高階動畫看似講述了很多其實本質(zhì)都是一樣的,是把圖片填充到文本框,再做相應(yīng)變換即可將苑文來自微信公眾號:Slidecent (ID:Slidecent),作者:林利?
本文來自微信公眾號:開炎融內(nèi)功煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負載是查看 Linux 服務(wù)器運行狀態(tài)時很常用的一個性能指標。在觀阘非線上服務(wù)器行狀況的時候,我們也是經(jīng)常把載找出來看一看。在線上請求壓過大的時候,經(jīng)常是也伴白鹿著負的飆高。但是負載的原理你真的解了嗎?我來列舉幾個問題,看你對負載的理解是否足夠的深刻負載是如何計算出來的?負載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露鱧魚載數(shù)據(jù)給應(yīng)用層的如果你對以上問題的理解還拿捏是很準,那么飛哥今天就于兒你來入地了解一下 Linux 中的負載!一、理解負載查看過程我經(jīng)常用 top 命令查看 Linux 系統(tǒng)的負載情況。一個典型的 top 命令輸出的負載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負載,也叫系統(tǒng)平青耕負載。因為單純某一個瞬的負載值并沒有太大意義虎蛟所以 Linux 是計算了過去一段時間內(nèi)的平均剡山,這三個數(shù)分別代的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢?事實上,top 命令里的負載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù),在這里會讀取內(nèi)核中的平后土負載量,簡單計算后便可展示出來。體流程如下圖所示。我們根據(jù)上流程圖再展開了看下。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會創(chuàng)建 /proc/ loadavg,并為其指定操作方法 loadavg_proc_fops。//file:?fs/proc/loadavg.cstatic?int?__init?proc_loadavg_init(void){?proc_create("loadavg",?0,?NULL,?&loadavg_proc_fops);?return?0;}在 loadavg_proc_fops 中包含了打開該文件時對應(yīng)的操作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 loadavg_proc_show 進行處理,核心的計算是在這里孰湖成的。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負載?seq_printf(m,?"%lu.%02lu?%lu.%02lu?%lu.%02lu?%ld/%d?%d\n",??LOAD_INT(avnrun[0]),?LOAD_FRAC(avnrun[0]),??LOAD_INT(avnrun[1]),?LOAD_FRAC(avnrun[1]),??LOAD_INT(avnrun[2]),?LOAD_FRAC(avnrun[2]),??nr_running(),?nr_threads,??task_active_pid_ns(current)-last_pid);?return?0;}在 loadavg_proc_show 函數(shù)中做了兩件事。調(diào)用 get_avenrun 讀取當前負載值將平均負載值按照一定的格式打申子輸出上面的源碼中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫狙如這么瑣是因為內(nèi)核中并沒有 float、double 等浮點數(shù)類型,而是用整數(shù)來模擬的。這些代都是為了在整數(shù)和小數(shù)之灌山轉(zhuǎn)化的。知道這個背景就行了,不用度展開剖析。這樣用戶通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)核計章山的負數(shù)據(jù)了。其中獲取 get_avenrun 只是在訪問 avenrun 這個全局數(shù)組而已。//file:kernel/sched/core.cvoid?get_avenrun(unsigned?long?*loads,?unsigned?long?offset,?int?shift){?loads[0]?=?(avenrun[0]?+?offset)??shift;?loads[1]?=?(avenrun[1]?+?offset)??shift;?loads[2]?=?(avenrun[2]?+?offset)??shift;}現(xiàn)在可以總結(jié)一下我們開篇中的一個問題:?內(nèi)核是如何暴露負載數(shù)女虔給應(yīng)層的?內(nèi)核定義了一個偽文件 /proc/ loadavg,每當用戶打開這個文件的時候,內(nèi)中的 loadavg_proc_show 函數(shù)就會被調(diào)用到,接著訪問 avenrun 全局數(shù)組變量 并將平均負載從整數(shù)轉(zhuǎn)化為小數(shù),并打印出來。蠻蠻了,外一個新問題又來了,avenrun 全局數(shù)組變量中存儲的數(shù)據(jù)是何敏山,又是被如何計算出來的?二、內(nèi)核中負載的計算狌狌程接小節(jié),我們繼續(xù)查看 avenrun 全局數(shù)組變量的數(shù)據(jù)來源。這個天山組的計算過程分為如下兩:1.PerCPU 定期匯總瞬時負載:定時刷新比翼個 CPU 當前任務(wù)數(shù)到 calc_load_tasks,將每個 CPU 的負載數(shù)據(jù)匯總起來,得到系統(tǒng)當前的瞬時負載。2.定時計算系統(tǒng)平均負載:定時器根據(jù)當前系整體瞬時負載,使用指數(shù)加權(quán)移平均法(一種高效計算平女祭數(shù)的法)計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。接下來我們分成兩個小來分別介紹。2.1 PerCPU 定期匯總負載在 Linux 內(nèi)核中,有一個子系統(tǒng)叫做時間子系竹山。在時間子系統(tǒng)里,初始了一個叫高分辨率的定時漢書。在定時器中會定時將每個 CPU 上的負載數(shù)據(jù)(running 進程數(shù) + uninterruptible 進程數(shù))匯總到系統(tǒng)全局的瞬時負載饒山量 calc_load_tasks 中。整體流程如下圖所示。我們把上述程圖展開看一下,我們找鐘山了高辨率定時器的源碼如下://file:kernel/time/tick-sched.cvoid?tick_setup_sched_timer(void){?//初始化高分辨率定時器?sched_timer?hrtimer_init(&ts-sched_timer,?CLOCK_MONOTONIC,?HRTIMER_MODE_ABS);?//將定時器的到期函數(shù)設(shè)置成?tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的時候,將到期獨山數(shù)設(shè)置成了 tick_sched_timer。通過這個函數(shù)讓每個 CPU 都會周期性地執(zhí)行一些任務(wù)。其中刷當前系統(tǒng)負載就是在這個時機進的。這里有一點要注意一個前提每個 CPU 都有自己獨立的運行隊列,。我們根連山 tick_sched_timer 的源碼進行追蹤,它依次通過調(diào)用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當前 CPU 上的負載值到 calc_load_tasks 上。因為每個 CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系統(tǒng)的瞬時負載值。們來看下負責(zé)刷新的 scheduler_tick 這個核心函數(shù)://file:kernel/sched/core.cvoid?scheduler_tick(void){?int?cpu?=?smp_processor_id();?struct?rq?*rq?=?cpu_rq(cpu);?update_cpu_load_active(rq);?}在這個函數(shù)中,獲取當前 cpu 以及其對應(yīng)的運行隊列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當前 CPU 的負載數(shù)據(jù)到全局數(shù)組中。//file:kernel/sched/core.cstatic?void?update_cpu_load_active(struct?rq?*this_rq){??calc_load_account_active(this_rq);}//file:kernel/sched/core.cstatic?void?calc_load_account_active(struct?rq?*this_rq){?//獲取當前運行隊列的負載相對?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時負載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當前運行隊列的負載相對值,并把大暤加到全局瞬時負載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當前系統(tǒng)當前時間肥遺的整體瞬時負載總數(shù)了我們再展開看看是如何根據(jù)精精行列計算負載值的://file:kernel/sched/core.cstatic?long?calc_load_fold_active(struct?rq?*this_rq){?long?nr_active,?delta?=?0;?//?R?和?D?狀態(tài)的用戶?task?nr_active?=?this_rq-nr_running;?nr_active?+=?(long)?this_rq-nr_uninterruptible;?//?只返回變化的量?if?(nr_active?!=?this_rq-calc_load_active)?{??delta?=?nr_active?-?this_rq-calc_load_active;??this_rq-calc_load_active?=?nr_active;?}?return?delta;}哦,原來是同時計算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進程的數(shù)量。對媱姬于用戶空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)。所以在刷密山 rq 里的進程數(shù)到其上的時候,只需要刷變化量就行,不用全部重算。因乘厘上函數(shù)返回的是一個 delta。2.2 定時計算系統(tǒng)平均負載上一小節(jié)鹓我們找到了系統(tǒng)當前瞬負載 calc_load_tasks 變量的更新過程?,F(xiàn)在我們還缺一個計提供過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的機制。傳統(tǒng)意解說上我們在計算平均數(shù)的時候采取的法都是把過去一段時間的數(shù)字都起來然后平均一下。把過去 N 個時間點的所有瞬時負載都犲山起取一個平均數(shù)不完事了。這其實我們傳統(tǒng)意義上理解的平均數(shù),如有 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的平窺窳數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法來計算平均負闡述的,存在以下幾個問題:1.需要存儲過去每一個采樣周期的數(shù)據(jù)假我們每 10 毫秒都采集一次,那么就需要使用一個比較大超山數(shù)將每一次采樣的數(shù)據(jù)全部都存起,那么統(tǒng)計過去 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新的觀察值,就要虢山移動平均中減去個最早的觀察值,再加上一個最的觀察值,內(nèi)存數(shù)組會頻繁碧山修和更新。2.計算過程較為復(fù)雜計算的時候再把南山個數(shù)組全加起來再除以樣本總數(shù)。雖然加法很簡,但是成百上千個數(shù)字的累耕父仍很是繁瑣。3.不能準確表示當前變化趨勢傳統(tǒng)黃鳥平均數(shù)計算過程,所有數(shù)字的權(quán)重是一樣的。但于平均負載這種實時應(yīng)用來蔿國,實越靠近當前時刻的數(shù)值權(quán)重應(yīng)越要大一些才好。因為這樣能更反應(yīng)近期變化的趨勢。所以,在 Linux 里使用的并不是我們所以為的傳統(tǒng)的平均視山的計算方,而是采用的一種指數(shù)加權(quán)移動均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法。這種指數(shù)加權(quán)移動均數(shù)計算法在深度學(xué)習(xí)中有很廣的應(yīng)用。另外股票市場里的 EMA 均線也是使用的是類似的方法求均值的方法白犬該算法的數(shù)學(xué)表式是:a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點小張弘雜,感興趣的同可以 Google 自行搜索。我們只需要知道這種方法在翠鳥際算的時候只需要上一個時間的平數(shù)即可,不需要保存所有瞬時負值。另外就是越靠近現(xiàn)在的時間權(quán)重越高,能夠很好地表示梁書期化趨勢。這其實也是在時間子系中定時完成的,通過一種叫做指加權(quán)移動平均計算的方法,計算三個平均數(shù)。我們來詳細看黃鳥上中的執(zhí)行過程。時間子系統(tǒng)將在鐘中斷中會注冊時鐘中斷的處理數(shù)為 timer_interrupt 。//file:arch/ia64/kernel/time.cvoid?__inittime_init?(void){?register_percpu_irq(IA64_TIMER_VECTOR,?&timer_irqaction);?ia64_init_itm();}static?struct?irqaction?timer_irqaction?=?{?.handler?=?timer_interrupt,?.flags?=?IRQF_DISABLED?|?IRQF_IRQPOLL,?.name?=??"timer"};當每次時鐘節(jié)拍到來時會調(diào)用到 timer_interrupt,依次會調(diào)用到 do_timer 函數(shù)。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負載計算的核心。旄山會獲取系當前瞬時負載值 calc_load_tasks,然后來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載,并保存到 avenrun 中,供用戶進程讀取。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當前瞬時負載值?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負載的計算?avenrun[0]?=?calc_load(avenrun[0],?EXP_1,?active);?avenrun[1]?=?calc_load(avenrun[1],?EXP_5,?active);?avenrun[2]?=?calc_load(avenrun[2],?EXP_15,?active);?}獲取瞬時負載比較簡單,女尸是讀取一個內(nèi)存變量而已乾山在 calc_load 中就是采用了我們前面說鬿雀指數(shù)加權(quán)移動平法來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載的。具體實現(xiàn)翠山代碼如下//file:kernel/sched/core.c/*?*?a1?=?a0?*?e?+?a?*?(1?-?e)?*/static?unsigned?longcalc_load(unsigned?long?load,?unsigned?long?exp,?unsigned?long?active){?load?*=?exp;?load?+=?active?*?(FIXED_1?-?exp);?load?+=?1UL?<(FSHIFT?-?1);?return?load?>>?FSHIFT;}雖然這個算法理解起來挺復(fù)雜,但是代碼看來確實要簡單不少,計算量伯服起很少。而且看不懂也沒有關(guān)系,需要知道內(nèi)核并不是采用的原始平均數(shù)計算方法,而是采用了一計算快,且能更好表達變化炎帝勢算法就行。至此,我們開篇提到“負載是如何計算出來的?”這個問題也有結(jié)論了。Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量匯總到一個全局系瞬時負載值中,然后再定時宣山用數(shù)加權(quán)移動平均法來統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。三、平均危載和 CPU 消耗的關(guān)系現(xiàn)在很多同學(xué)都將平均負少昊和 CPU 給聯(lián)系到了一起。認為負載高、CPU 消耗就會高,負載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計負載的時候確實是只夔算了 runnable 的任務(wù)數(shù)量,這些進程只冰鑒 CPU 有需求。在那個年代里,負載和 CPU 消耗量確實是正相關(guān)的。雍和載越高就表示正 CPU 上運行,或等待 CPU 執(zhí)行的進程越多,CPU 消耗量也會越高。但是前面我們看了,本文使用的 3.10 版本的 Linux 負載平均數(shù)不僅跟蹤 runnable 的任務(wù),而且還跟蹤處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進程其實是不占 CPU 的。所以說,負載高并不巫抵定是 CPU 處理不過來,也有可能會是因為磁等其他資源調(diào)度不過來而使戲器進進入 uninterruptible 狀態(tài)的進程導(dǎo)致的!為什么要這堯修改。我從網(wǎng)上搜到了在 1993 年的一封郵件里找到了原因,以下是郵申子原文。From:?Matthias?Urlichs?
IT之家 1 月 26 日消息,據(jù)世嘉官方消息,日一開發(fā)的游戲《魔界戰(zhàn)記 DISGAEA 7》確定于 2023 年 5 月 25 日在亞洲地區(qū)發(fā)售,登?驩疏PS5、PS4、Nintendo Switch 平臺,支持簡體中文。據(jù)龜山紹,魔界戰(zhàn)記》系列是一款以孟槐、天使和勇者橫行霸道、打常識的“魔界”為舞臺的 SRPG 游戲(策略角色扮演游戲)。IT之家了解到,截止到 2021 年 7 月 21 日,該系列全球累計銷售已突白鹿 500 萬份。在系列最新作《魔界崌山記 7》中,以和風(fēng)魔界“日之本界群”為舞臺,流浪武士“士”和日之本阿宅的女祭女“莉莉卡”,為從侵略者手鵌回荒廢已久的日之本魔界,舉起“打倒大僵戶幕腐”的幟,大鬧特鬧?
1 月 25 日,Synergy Research Group 在其最新報告中出,在公有云和礎(chǔ)架構(gòu)市場,2022 年運營商和供應(yīng)商收入達到 5440 億美元(當前約 3.69 萬億元人民幣),比 2021 年增長 21%。其中,增長最的是基礎(chǔ)架構(gòu)即務(wù) (IaaS) 和平臺即服務(wù) (PaaS),盡管受美元走強等重因素影響,但些服務(wù)的年收入增長了 29%,總計超過 1950 億美元。私有云托管服務(wù)、企軟件即服務(wù) (SaaS) 和內(nèi)容交付網(wǎng)絡(luò) (CDN) 則進一步貢獻了 2290 億美元的營業(yè)收,自 2021 年以來增長了約 19%。此外,公有云提供商在建、租賃和裝備其據(jù)中心基礎(chǔ)設(shè)施面花費了 1200 億美元,比前一年增長了 13%。Synergy 表示,在公有云生態(tài)系統(tǒng)中葴山 15 家公司的公有云相關(guān)收入所有公有云相關(guān)入的 60%。最受關(guān)注的是微軟亞馬遜、Salesforce 和谷歌,其次是 Adobe、阿里巴巴、思科、戴爾華為、IBM、浪潮、甲骨文、SAP 和 VMware。在地理位置上,美國仍然是重心”,Synergy 數(shù)據(jù)顯示,2022 年,美國占全部云服收入的 45% 和超大規(guī)模數(shù)據(jù)心容量的 53%。服務(wù)和基礎(chǔ)設(shè)領(lǐng)域的絕大多數(shù)先企業(yè)是美國公,其次是中國公,占 2022 年云服務(wù)收入的 8% 和超大規(guī)模數(shù)據(jù)中心容量的 16%。Synergy 預(yù)計,未來四年,公有云態(tài)系統(tǒng)的收入規(guī)將翻一番。在此間,預(yù)計云提供運營的超大規(guī)模據(jù)中心數(shù)量將增 50%,數(shù)據(jù)中心網(wǎng)絡(luò)的容量將大 65% 以上?
IT之家 1 月 26 日消息,國際數(shù)據(jù)公司(IDC)最新報告顯示,2022 年第四季度,全球智能手機龍山貨量同比下降 18.3% 至 3.003 億部,創(chuàng)有記錄以來最大的單季度跌幅狍鸮IT之家了解到,IDC 表示,2022 年全年出貨量同比下降 11.3% 至?12.1 億臺,創(chuàng)?2013 年以來的最低年度出貨量,這主要是因為消費者需大幅下降、通貨膨脹和經(jīng)不確定性。具體來看,2022 年第四季度,蘋果、三星、小米嚳OPPO、vivo 市場份額位列前五位,出貨量分別巫戚 7230 萬臺(24.1%)、5820 萬臺(19.4%)、3320 萬臺(11.0%)、2530 萬臺(8.4%)、2290 萬臺(7.6%)?!?IDC 數(shù)據(jù),下同2022 年,三星、蘋果、小米、OPPO、vivo 市場份額位列前五位,出貨分別為 2.609 億臺(21.6%)、2.264?億臺(18.8%)、1.531 億臺(12.7%)、1.033 億臺(8.6%)、9900 萬臺(8.2%)。