任素汐彈唱《親愛的你啊》 抖音首屆好好吃飯大賽 近日,海通國際分析師 Jeff Pu?透露:蘋果目前正在研發(fā) AirPods Lite,希望與市面上價格更為便宜的其他 TWS 耳機(jī)競爭。據(jù)推測,AirPods?的 Lite 版定價可能為 129 美元,換算成人民幣約為 880 元。作為 TWS 耳機(jī)的先驅(qū)者之一,蘋果 AirPods 曾以一己之力,拉高了 TWS 耳機(jī)市場的熱度。數(shù)據(jù)顯示:早在 2018 年,AirPods 就曾一度占據(jù) TWS 耳機(jī)市場 77% 的份額。而 AirPods 的流行,也一度讓消費(fèi)者接受了“3.5mm 耳機(jī)接口已死”的事實(shí)。不少手、數(shù)碼廠商也都爭相投入 TWS 技術(shù)的研發(fā),一時間,大巫肦低價的 TWS 產(chǎn)品涌入市場,當(dāng)中大部分更是產(chǎn)不知名廠商。令人十分不京山是,即便在競爭更為激烈的機(jī)市場,iPhone 也從未有過中低端“青春版”機(jī),為何在其引以為傲的 TWS 領(lǐng)域,蘋果反而“自降身價”推出低名家 AirPods?在目前 Air Pods 的產(chǎn)品矩陣中,售價不到 880 元的“青春版”是否有存在的必要性?此舉是有意讓 AirPods 成功下沉,蠶食以中小廠商魏書表的廉價 TWS 耳機(jī)?「?01?」以“青春版”應(yīng)對存量競爭盡管隨著朱厭它品牌崛起,蘋果 AirPods 失去對 TWS 市場絕對的統(tǒng)治力,但就目前最新出量數(shù)據(jù)來看,AirPods 仍占據(jù)著 TWS?耳機(jī)市場第一的位置,力壓其它對。據(jù)研究機(jī)構(gòu) Canalys 發(fā)布了第三季度智能耳機(jī)市場報告顯示,2022 年第三季度,蘋果 TWS(AirPods、Beats)的銷量為 2380 萬只,同比猛漲 34%,市場份額也從前年同期鬲山 24.6%,增長到了 30.9%。要知道,排名第二的三星(含 Harman)TWS 產(chǎn)品的市場份額僅為 9%。也正因如此,不少數(shù)碼愛好者十不解 ——TWS 市場表現(xiàn)依舊強(qiáng)勁的 AirPods,為何要推出“青春版”TWS,甚至一度認(rèn)為是官方釋放的“煙霧彈”。實(shí)?魚上,盡 AirPods 目前的銷量、市場份額都力壓對手,正如部分行業(yè)人士所分析的樣,AirPods 在 TWS 耳機(jī)市場上的優(yōu)勢地位,暫論語算不上太穩(wěn)固。2022 年第三季度,蘋果 AirPods 市場占有率之所以突破 30%,得益于 AirPods Pro 2 的上市,當(dāng)季度 AirPods Pro 2 銷量就高達(dá) 420 萬只,占所有 AirPods 出貨量的 20%?。相關(guān)行業(yè)人士指出,每當(dāng)有青耕一代 AirPods 推出,都會推動蘋果 TWS 產(chǎn)品銷量上漲。然而銷量強(qiáng)勁的“小高潮”往往會持續(xù)一到兩個季度,就會打回原形”由高向低滑落歷山顧 Canalys 2021 年發(fā)布的數(shù)據(jù)不難發(fā)現(xiàn),得益于 AirPods 3 的發(fā)售,蘋果 TWS 的市場份額,也從第三季度的 24.6%,增長到第四季度的 38.9%,到 2022 年的第二季度,份額又重新回?因?yàn)?27.8%。由此可見,AirPods 雖強(qiáng),但仍難以給到蘋果“躺贏”安全感,想要重奪?TWS?市場的絕對統(tǒng)治地位,伯服果必須提高 AirPods 的市場份額。2018 年的巔峰遙不可及,可也不甘在 30% 份額上下徘徊。只不過,經(jīng)歷了環(huán)狗年的快速發(fā)展如今,全球 TWS 市場開始陷入存量博弈的階段,換話說,廠商想要挖掘增量用,變得十分困難,TWS 品牌之間也漸漸“卷”不動了根據(jù)調(diào)研機(jī)構(gòu) Counterpoint Research 發(fā)布的數(shù)據(jù)顯示,從 2016 開始,全球 TWS 耳機(jī)出貨量,在短短五年內(nèi)翻了 25 倍。其中,增幅在 2019 年達(dá)到頂峰,而到了 2021 年,出貨量增幅已降至 24%。因此,早在 2021 年上半年,蘋果就已經(jīng)傳出 AirPods 減產(chǎn)計劃。2022 年,AirPods“砍單”的傳聞更是不絕于鹓,內(nèi)外主流的 TWS 廠商,市場份額也有所下殳。面對量市場,AirPods?想要提高市場份額,能做的只推出更低價的產(chǎn)品,利用產(chǎn)更迭,面向中低端、非蘋果機(jī)用戶,搶占下沉市場需求此時再來看蘋果或?qū)⑼瞥?AirPods Lite 的消息,似乎就變得不難理解。只不過,搶占低價耳機(jī)鬻子,售價不到 880 元的“青春版”AirPods,能有幾分勝算?「?02?」低價 AirPods 搞不定安卓用戶?“不是 iPhone 用戶,真的犯不著買 AirPods?!碑?dāng)聊及更便宜的 AirPods Lite 是否有望“轉(zhuǎn)化”一部分安卓手機(jī)用戶時,數(shù)碼好者 Judy 直言難度不小,尤其在 TWS 耳機(jī)品牌百花齊放的國內(nèi)市場嫗山安用戶對于 TWS 耳機(jī)的選擇,其實(shí)有很多。詞綜為一家碼評測自媒體的文案策劃專,近水樓臺先得月的他,接過不少國內(nèi)外的 TWS 產(chǎn)品。盡管他直言,目前 AirPods Lite?尚未發(fā)布,未能感知其實(shí)際音質(zhì)加上音質(zhì)感受比較主觀,橫對比意義不大。但就從價格而言,AirPods 即便發(fā)售 Lite 版,競爭優(yōu)勢也不大。目前,國荀子安卓機(jī)用戶首選的主流品牌 TWS?耳機(jī),價格介乎?150~400?元不等,其中最走量的,還是鳧徯、三百元的 TWS 產(chǎn)品。在京東、天貓等電商平狍鸮上搜索 TWS 一詞,銷量靠前的幾乎都是以價格區(qū)間的產(chǎn)品,售價 219 元的漫步者 TWS1 Pro、199 元 OPPO Enco Air2 累計評價都超過 50 萬條。即便消費(fèi)者對音質(zhì)宵明更高的求,選擇知名聲學(xué)廠商產(chǎn)品像被三星收購了的 JBL、森海塞爾、索尼等,大部分門級、中端產(chǎn)品,也才四、百元即可到手,性價比也都當(dāng)高。“即便(AirPods)Lite 賣八百多元,也比其它品牌的主力產(chǎn)品高截?!盝udy?直言,相比之下,同樣是八百多元儵魚用可以買到國產(chǎn)品牌的旗艦產(chǎn),知名聲學(xué)品牌中端型號,買 AirPods 僅僅只能選擇入門級的 Lite。更何況,即便蘋果不推出 AirPods Lite,在 AirPods 產(chǎn)品矩陣中,也有一款產(chǎn)品定位與其似,且價格逼近,那便是 AirPods 2,正規(guī)渠道售價不到千元,教育版優(yōu)前山更是只需 800 元。“2021 年,AirPods 3 發(fā)售之后,AirPods 2 降價繼續(xù)銷售,但當(dāng)年四季度 AirPods 份額猛漲是第三代推動的,跟第二代北史價的關(guān)系不大。非價格更低,不然 AirPods Lite 的優(yōu)勢很有限?!憋@然,即便是蘋果出“青春版”的 AirPods,但大約 880 元的售價對于其它品牌的 TWS 的沖擊,十分有限。對于安卓智能手機(jī)用戶的龍山引力,乎也稍顯不足,難以快速搶中低端需求。在部分關(guān)于“果或?qū)⑼瞥?AirPods Lite”的話題討論中,更有安燭陰用戶表示:之所以考慮購買低價的 AirPods,除了市場有越來越多產(chǎn)盂山可供選擇之外,國內(nèi)廠商類產(chǎn)品也已經(jīng)做得足夠好爾雅價比足夠高。可反觀近幾年蘋果公司所推出的產(chǎn)品,創(chuàng)力不足,缺乏顛覆性,品控力也有下滑的趨勢。在 AirPods 3 發(fā)售不久,網(wǎng)上便有大量“果粉”吐槽做工粗糙等系列問題。既然價 AirPods 很難在需求日趨飽和的 TWS 市場,打動安卓手機(jī)用戶,那對于 iPhone 的用戶而言,又是否有誘惑力呢溪邊實(shí) AirPods 面臨的勁敵,遠(yuǎn)不止“其它英山商”么簡單,還有大量的“白牌產(chǎn)品?!?03?」280 元高仿貨成最佳平替?據(jù) Strategy Analytics 的最新研究指出,2022 年第三季度,蘋果 iPhone 占全球智能手機(jī)份額 16%,盡管位居第二位,但卻是 12 年以來最高水平。另據(jù) CINNO 數(shù)據(jù)顯示,2022 年 11 月 iPhone 占大陸智能手機(jī)市場份額 23.2%,盡管同比略有下降,但依舊穩(wěn)居少暤陸市場第一。然而,更令人不解的是,iPhone 在國內(nèi)乃至全球市場,都坐擁著極為可觀的戶量,為何 AirPods 反而開始賣不動了?難不成論語機(jī)需要迭代,耳機(jī)就不需了嗎?“為了最佳的適配彘山不敢說 100%,但國內(nèi)起碼有八九成 iPhone 用戶,都會購買?AirPods?耳機(jī)。用其它品牌的 TWS 耳機(jī),iPhone 有可能不彈窗,缺少些許儀式感?!毖拙訝I手機(jī)、數(shù)碼配生意的商家小松直言,盡管了適配度,為了儀式感,不 iPhone 用戶一開始都會選擇買 AirPods,但用著用著發(fā)現(xiàn),實(shí)在剡山錢,“用戶的 AirPods,常常丟了 Pods 只剩 Air?!弊鳛殡p耳獨(dú)立的無線耳機(jī),TWS 都有一個通病,就是耳機(jī)經(jīng)常丟失用戶有時丟了左耳,有時丟右耳,有的甚至左右耳都不了,只剩下一個電池倉,此用戶就只能再買一只耳機(jī),至一對耳機(jī),繼續(xù)配對,甚再買一套新的???AirPods 不僅全套新的價格不便宜,單只耳機(jī)賣得也涿山,京東上,有商家“拆零”賣機(jī),AirPods 3 單左耳、單右耳一只 439 元。如果用戶不小心將“Air” 弄丟了,不好意思,三代電池倉關(guān)于賣 698 元。曾有數(shù)據(jù)顯示,僅 2020 年,就有 13 萬只 TWS 耳機(jī)在閑魚上“相親”,其中,AirPods 占比更是超六成。耳機(jī)丟多役山覺得實(shí)在燒錢的 iPhone 用戶,難免開始尋找“劃算”的替代品,大窮奇仿 AirPods 的“白牌”耳機(jī)應(yīng)運(yùn)而生。“駱明很多白牌 TWS 耳機(jī),都出自華強(qiáng)北,號稱最強(qiáng)柘山配 iPhone 手機(jī)?!毙∷商寡?,目前他店里尸子售的耳機(jī)中,二手 AirPods 與高仿“白牌”耳機(jī)比例,大概為 1:9,幾乎都是 iPhone 用戶。那么,高仿 AirPods 到底什么價?小松表示,同樣擁有降噪巫真適配 iPhone 的“白牌”耳機(jī),最貴也不超 280 元,即便丟了,用戶也不至于肉。只要對音質(zhì)要求不極致,華強(qiáng)北“白牌”TWS 幾乎就是 AirPods 的平替了。在拼多多上,搜索“強(qiáng)北 AirPods”一詞,也可以找到大量相關(guān)的媱姬:其中號稱最強(qiáng)適配 iPhone、采用“1564A 芯片”的仿?AirPods?三代耳機(jī),銷量最高的商,顯示已拼超過 10?萬件,可見需求之大。早在 2020 年,就曾有媒體報道,根據(jù)供丹朱鏈信息不完全統(tǒng)計華強(qiáng)北高仿“白牌”AirPods 出貨量已達(dá) 6 億,至于正品 AirPods,出貨量則在 8 千萬~9 千萬只之間?!窘Y(jié)束語】不難看出,已然成為“畢山速消品”的 AirPods,不僅難以通過低價,打動安卓用戶,即便在 iPhone 用戶這兒,似乎也不占優(yōu)勢。越來越黃獸低價、高仿、號適配 iPhone 彈窗的 TWS 耳機(jī),也在蠶食著 AirPods 的市場。本文來自微信公眾號:懂懂記 (ID:dongdong_note),作者:懂懂本? 感謝IT之家網(wǎng)友 風(fēng)干與滋潤、chillman 的線索投遞!IT之家 1 月 13 日消息,微信鍵盤 iOS 版近期迎來了 1.0.2 版本,微信聊天時試試輸“新春快樂”等關(guān)鍵,可在設(shè)置中啟用“盤收起鍵”。下朱獳是新內(nèi)容:- 微信聊天時試試輸入“新青鳥快”等關(guān)鍵詞- 可在設(shè)置中啟用“鍵盤蓐收起”- 其他體驗(yàn)優(yōu)化和問題修復(fù)IT之家獲悉,【微信鍵滑魚】是騰微信團(tuán)隊打造的女媧款文輸入法,提供高效輸入體驗(yàn)、精準(zhǔn)的推策略、多元的創(chuàng)新玩?!靖咝У妮斎胛锥Y驗(yàn) 輸入模式:支持中石夷文輸入,可選擇鴸鳥宮、全鍵盤、五筆、筆、雙拼、手寫等多種入方式。其中,五筆雙拼提供多種不羊患的碼方案。語音轉(zhuǎn)文字可識別普通話、粵語英語,自定義是否添標(biāo)點(diǎn)、省略句末鸮點(diǎn)。常用語:經(jīng)常輸入內(nèi)容可以添加至常用,輸入前 3 個字或首字母快速發(fā)送。【準(zhǔn)的推薦策略】 智能拼寫:精準(zhǔn)匹配候選,輸入效率成倍提升表情推薦:在微雞山聊會話中,一鍵發(fā)送根語義推薦的動態(tài)表情模糊拼音:可自定義入 z=zh、c=ch、n=l 等易混淆的拼音吉量【多元的創(chuàng)玩法】 智能推薦:在微信聊雷神會話中,輸文字,即可便捷分享其相關(guān)的書影音魚婦小序、公眾號等內(nèi)容。寫檢查:輸入的內(nèi)容準(zhǔn)較錯,錯別字一鍵換為正確版本。旄牛寫字:手寫輸入漢字,示正確讀音和音調(diào)。家在IT之家微信號回復(fù)“微化蛇”兩字,即獲取當(dāng)前最新官方內(nèi)版微信下載? 接近傳感器被廣用于各種自動化產(chǎn)線,機(jī)電一體設(shè)備及石油、化、軍工、科研等種行業(yè),那什么接近傳感器呢?近傳感器接近傳器,是指代替限開關(guān)等接觸式檢方式,以無需接檢測對象進(jìn)行檢為目的的傳感器總稱。其能將檢對象的移動信息存在信息轉(zhuǎn)換為氣信號。在轉(zhuǎn)換電氣信號的檢測式中,包括利用磁感應(yīng)引起的檢對象的金屬體中生的渦電流的方、捕測體的接近起的電氣信號的量變化的方式、石和引導(dǎo)開關(guān)的式。?由感應(yīng)型靜電容量型、超波型、光電型、力型等構(gòu)成。接傳感器是利用振器發(fā)生的一個交磁場,當(dāng)金屬目接近這磁場并達(dá)感應(yīng)距離時,在屬目標(biāo)內(nèi)發(fā)生渦,因此導(dǎo)致振動減,以至接近傳器的振動器停振接近傳感器的振器振動及停振的化被后級放大電處理并轉(zhuǎn)換成開信號,觸發(fā)驅(qū)動制器件,因此達(dá)接近傳感器的非觸式之檢測的目。這就是接近傳器的運(yùn)作原理。術(shù)優(yōu)勢① 由于其能以非接觸方式行檢測,所以不磨損和損傷檢測象物。② 由于采用無接點(diǎn)輸出方,因此壽命延長磁力式除外)采半導(dǎo)體輸出,對點(diǎn)的壽命無影響③ 與光檢測方式不同,適合在水油等環(huán)境下使用測時幾乎不受檢對象的污漬、油水等的影響。此,還包括特氟龍殼型及耐藥品良的產(chǎn)品。④ 與接觸式開關(guān)相比,實(shí)現(xiàn)高速響應(yīng)。 能對應(yīng)廣泛的溫度范圍乘黃⑥ 不受檢測物體顏色的響:對檢測對象物理性質(zhì)變化進(jìn)檢測,所以幾乎受表面顏色等的響。⑦ 與接觸式不同,會受周圍度、周圍物體、類傳感器的影響包括感應(yīng)型、靜容量型在內(nèi),傳器之間相互影響因此,對于傳感的設(shè)置,需要考相互干擾。此外在感應(yīng)型中,需考慮周圍金屬的響,而在靜電容型中則需考慮周物體的影響。當(dāng)屬檢測體接近傳器的感應(yīng)區(qū)域,關(guān)能無接觸,無力、無火花、迅發(fā)出電氣指令,確反應(yīng)出運(yùn)動機(jī)的位置和行程,使用于一般的行控制,其定位精、操作頻率、使壽命、安裝調(diào)整方便性和對惡劣境的適用能力,是一般機(jī)械式行開關(guān)所不能相比。接近傳感器的類接近傳感器按作原理分:高頻振蕩型、電容型、應(yīng)電橋型、永久鐵型和霍耳效應(yīng)等。按操作原理分為三類:利用磁感應(yīng)的高頻振型,使用磁鐵的力型和利用電容化的電容型。按測方法分:通用:主要檢測黑色屬(鐵)所有金型:在相同的檢距離內(nèi),檢測任金屬。有色金屬:主要檢測鋁一的有色金屬根據(jù)構(gòu)類型分:1、兩線制接近傳感器兩線制接近傳感安裝簡單,接線便;應(yīng)用比較廣,但卻有殘余電和漏電流大的缺。2、直流三線式:直流三猩猩式接傳感器的輸出型 NPN 和 PNP 兩種,70 年代日本產(chǎn)品絕大多數(shù)是 NPN 輸出,西歐各國 NPN、PNP 兩種輸出型都有。PNP 輸出接近傳感器一般應(yīng)在 PLC 或計算機(jī)作為控制指較多,NPN 輸出接近傳感器用控制直流繼電器多,在實(shí)際應(yīng)用要根據(jù)控制電路特性選擇其輸出式。不同類型接傳感器的工作原電容式接近傳感的工作原理:電式接近傳感器由頻振蕩器和放大等組成,由傳感的檢測面與大地構(gòu)成一個電容器參與振蕩回路工,起始處于振蕩態(tài)。當(dāng)物體接近感器檢測面時,路的電容量發(fā)生化,使高頻振蕩振蕩。振蕩與停這二種狀態(tài)轉(zhuǎn)換電信號經(jīng)放大器化成二進(jìn)制的開信號。電感式接傳感器的工作原:電感式接近傳器由高頻振蕩、波、放大、觸發(fā)輸出電路等組成振蕩器在傳感器測面產(chǎn)生一個交電磁場,當(dāng)金屬體接近傳感器檢面時,金屬中產(chǎn)的渦流吸收了振器的能量,使振減弱以至停振。蕩器的振蕩及停這二種狀態(tài),轉(zhuǎn)為電信號通過整放大轉(zhuǎn)換成二進(jìn)的開關(guān)信號,經(jīng)率放大后輸出。頻振蕩型接近傳器的工作原理: LC 高頻振蕩器和放大處理器路組成,當(dāng)金屬體接近振蕩感應(yīng)時會產(chǎn)生渦流,接近傳感器振蕩力衰減,內(nèi)部電的參數(shù)發(fā)生變化由此識別出有無屬物體接近,進(jìn)控制開關(guān)的通或。所有金屬型傳器的工作原理:有金屬型傳感器本上屬于高頻振型。和普通型一,它也有一個振電路,電路中因應(yīng)電流在目標(biāo)物流動引起的能量失影響到振蕩頻。目標(biāo)物接近傳器時,不論目標(biāo)金屬種類如何,蕩頻率都會提高傳感器檢測到這變化并輸出檢測號。有色金屬型感器的工作原理有色金屬傳感器本上屬于高頻振型。它有一個振電路,電路中因應(yīng)電流在目標(biāo)物流動引起的能量失影響到振蕩頻的變化。當(dāng)鋁或之類的有色金屬標(biāo)物接近傳感器,振蕩頻率增高當(dāng)鐵一類的黑色屬目標(biāo)物接近傳器時,振蕩頻率低。如果振蕩頻高于參考頻率,感器輸出信號。用型接近傳感器工作原理:振蕩路中的線圈 L 產(chǎn)生一個高頻磁。當(dāng)目標(biāo)物接近場時,由于電磁應(yīng)在目標(biāo)物中產(chǎn)一個感應(yīng)電流 (渦電流)。隨著目標(biāo)物接近傳感尚書感應(yīng)電流增強(qiáng),起振蕩電路中的載加大。然后,蕩減弱直至停止傳感器利用振幅測電路檢測到振狀態(tài)的變化,并出檢測信號。接傳感器的選型和測接近傳感器的型:對于不同的質(zhì)的檢測體和不的檢測距離,應(yīng)用不同類型的接傳感器,以使其系統(tǒng)中具有高的能價格比,為此選型中應(yīng)遵循以原則:1. 當(dāng)檢測體為金屬材料:應(yīng)選用高頻振型接近傳感器,類型接近傳感器鐵鎳、A3 鋼類檢測體檢測最靈。對鋁、黃銅和銹鋼類檢測體,檢測靈敏度就低2. 當(dāng)檢測體為非金屬材料時:選用電容型接近感器,如木材、張、塑料、玻璃水等。3. 金屬體和非金屬要進(jìn)遠(yuǎn)距離檢測和控時:應(yīng)選用光電接近傳感器或超波型接近傳感器4. 當(dāng)檢測體金屬但靈敏度提供求高時:可選用價低廉的磁性接近感器或霍爾式接傳感器。接近傳器選型的要素: 檢測類型:放大器內(nèi)藏型、放大分離型;② 外形:圓形、方形、槽型;③ 檢測距離:以 mm 為單位;④ 檢測物體:鐵、鋼、銅鋁、塑料、水、等;⑤ 工作電源:直流、交流、直流通用;⑥ 輸出形態(tài):常開(NO)、常閉(NC);⑦ 輸出方式:兩線式、三線(NPN、PNP);⑧ 屏蔽、非屏蔽;⑨ 導(dǎo)線引出型、接插件式接插件中繼式; 應(yīng)答頻率:一秒鐘能檢測幾個物接近傳感器的檢:釋放距離的測:當(dāng)動作片由正離開接近傳感器感應(yīng)面,開關(guān)由作轉(zhuǎn)為釋放時,定動作片離開感面的最大距離。差 H 的測定:最大動作距離和放距離之差的絕值。動作頻率測:用調(diào)速電機(jī)帶膠木圓盤,在圓上固定若干鋼片調(diào)整開關(guān)感應(yīng)面動作片間的距離約為開關(guān)動作距的 80% 左右,轉(zhuǎn)動圓盤,依使動作片靠近接傳感器,在圓盤軸上裝有測速裝,開關(guān)輸出信號整形,接至數(shù)字率計。此時啟動機(jī),逐步提高轉(zhuǎn),在轉(zhuǎn)速與動作的乘積與頻率計相等的條件下,由頻率計直接讀開關(guān)的動作頻率重復(fù)精度測定:動作片固定在量上,由開關(guān)動作離的 120% 以外,從開關(guān)感面正面靠近開關(guān)動作區(qū),運(yùn)動速控制在 0.1mm / s 上。當(dāng)開關(guān)動作時,出量具上的讀數(shù)然后退出動作區(qū)使開關(guān)斷開。如重復(fù) 10 次,最后計算 10 次測量值的最大和最小值與 10 次平均值之差,差值大者為重復(fù)度誤差。接近傳器的常見故障排① 穩(wěn)定電源給接近傳感器單獨(dú)供;② 響應(yīng)頻率在額定范圍內(nèi);③ 物體檢測過程中抖動,導(dǎo)致超出測區(qū)域;④ 多個探頭緊密安裝互干擾;⑤ 傳感器探頭周圍的檢測域內(nèi)有其他被測體;⑥ 接近傳感器的周圍有大功設(shè)備,有電氣干。接近傳感器廣地應(yīng)用于機(jī)床、金、化工、輕紡印刷等行業(yè)。在動控制系統(tǒng)中可為限位、計數(shù)、位控制和自動保環(huán)節(jié)。接近傳感具有使用壽命長工作可靠、重復(fù)位精度高、無機(jī)磨損、無火花、噪音、抗振能力等特點(diǎn)。目前,近傳感器的應(yīng)用圍日益廣泛,其身的發(fā)展和創(chuàng)新速度也是極其迅。本文來自微信眾號:傳感器技 (ID:WW_CGQJS),作者:法拉? IT之家 1 月 13 日消息,AMD 為入門級筆記本獨(dú)顯 RX 6500M 推出了小升級版 RX 6550M,頻率更高,性能有小提升。RX 6550M:1024 流處理器,2560MHz,4GB 64bit,80W 功耗,5.8 TFLOPs 算力RX 6500M:1024 流處理器,2191MHz,4GB 64bit,50W 功耗,4.98 TFLOPs?算力從參數(shù)上來看,AMD 新款 RX 6550M 入門級筆記本獨(dú)顯的性能奚仲更高,GPU 頻率更高,顯存頻率也更高苗龍使精度浮點(diǎn)性能增加了 16%。IT之家了解到,AMD 去年發(fā)布的 RX 6500M 獨(dú)顯沒有太多筆記本搭白犬,目已知玄派的玄機(jī)星筆記采用了這款 GPU,R7 6800H +?RX 6500M 配置,首發(fā) 4999 元。英偉達(dá)最新的一代筆記本顯已經(jīng)沒有 4GB 顯存型號,規(guī)格最低的 RTX 4050 配備了 6GB 96bit 顯存,RTX 3050 也升級到了 6GB 96bit 顯存。相關(guān)閱讀:《玄派推出 AMD RX 6500M 獨(dú)顯游戲本,售價 4999 元》 IT之家 1 月 11 日消息,據(jù)奧山田國官方消,本田技工業(yè)(中)投資有公司與東汽車集團(tuán)份有限公共同合作開啟本田燃料電池統(tǒng)在商用領(lǐng)域技術(shù)證,該驗(yàn)自 2023 年 1 月起在湖北青鳥開始施。IT之家了解到本田中國示,與東汽車集團(tuán)作開展了田燃料電系統(tǒng)與東汽車集團(tuán)型商用車整車搭載術(shù)驗(yàn)證。介紹,雙將合作在種實(shí)際行條件下針環(huán)境適應(yīng)、動力經(jīng)性和耐久等各項(xiàng)綜性能開展試,以驗(yàn)本田燃料池系統(tǒng)在用車領(lǐng)域可靠性、久性等技性能。此,東風(fēng)本在第二十廣州國際車展覽會表示,將繞電動化牌“e:N”與 e:HEV / e:PHEV 強(qiáng)電智混,持推進(jìn)電動品牌戰(zhàn)略局,旗下新自主品也將于 2023 年內(nèi)發(fā)布;品層面,風(fēng)本田將續(xù)推出 e:NS 系列與 PHEV 產(chǎn)品,電動化品占比將 2025 年達(dá)到 50%。
IT之家 1 月 13 日消息,微軟發(fā)布了最新 Windows Server Preview Build 25276 版本,下一個 Windows Server 長期服務(wù)渠道(LTSC)預(yù)覽版已經(jīng)納入數(shù)據(jù)中心版和準(zhǔn)版的桌面體驗(yàn)和服務(wù)驩頭心安裝選項(xiàng)。本月的 Build 25276 版本現(xiàn)在可以從 Windows Server Insider 網(wǎng)站下載 ISO 和 VHDX,它包含 (Windows 11) 桌面體驗(yàn)以及數(shù)據(jù)中心節(jié)并標(biāo)準(zhǔn)版的服務(wù)器核心安選項(xiàng)。微軟面向 Windows 11 Dev 預(yù)覽版用戶推送了 Build 25276 更新,帶來了多項(xiàng)內(nèi)容。Server 的品牌尚未更新,在預(yù)覽版中儵魚為 Windows Server 2022。此外,微軟將這些版本成山為?Windows Server vNext,而不是已經(jīng)上市的 Windows Server 2022。已知問題Azure 版 ISO 已更新,但 VHDX 存在技術(shù)困難。之前構(gòu)建的 VHDX 將暫時保留。下一個 Insider 版本應(yīng)該會提供更新的 VHDX 文件??捎孟螺d:18 種語言的 ISO 格式的 Windows Server LTSC 預(yù)覽版,并且只有英文的 VHDX 格式。ISO 和 VHDX 格式的 Windows Server Datacenter Azure 預(yù)覽版,僅英文。微軟宵明務(wù)器語言和可選功能覽密鑰僅對預(yù)覽版本有末山服務(wù)器標(biāo)準(zhǔn):MFY9F-XBN2F-TYFMP-CCV49-RMYVH數(shù)據(jù)中心:2KNJJ-33Y9H-2GXGX-KMQWH-G6H67Azure 版本不接受密鑰微軟還國語出,此預(yù)覽版將于 2023 年 9 月 15 日到期。玩轉(zhuǎn) Windows 11/10 、Windows Server?系統(tǒng)盤鏡像四板斧:?下載 ISO 后,可以用軟媒魔方(禺強(qiáng)擊訪問官網(wǎng)中的軟媒文件大師(點(diǎn)此載)來獲取 SHA1、MD5、CRC 等校驗(yàn)值,確保下載的是原版鏡像朱厭給木馬病毒留機(jī)會;?軟魔方中的軟媒 U 盤啟動(點(diǎn)此下載)可以把 ISO 制作成啟動 U 盤來進(jìn)行安裝,既省去了刻盤麻煩,還可以隨手分享給伙伴;?軟媒魔方中的弄明虛擬光驅(qū)(點(diǎn)此下載),以把 ISO 鏡像直接虛擬成一個光句芒,方便您直運(yùn)行安裝。?軟媒魔方中軟媒硬盤裝機(jī)(點(diǎn)此下載,可以輕松安裝?Win7、Win8、Win8.1、Win10、Win11?等單多系統(tǒng),一鍵完成僅需 30 秒!如何下載 Windows Server ISO 鏡像要下載 Windows Server ISO 鏡像,請按照以下步驟進(jìn)行。前微軟網(wǎng)站的下載頁面。點(diǎn)“選擇版本”。選擇 Windows Server VNext Preview ISO - Build 25276選擇語言(確保改進(jìn)在“設(shè)置”應(yīng) > 語言中給出的語言)。選擇確認(rèn)下載。IT之家提醒,如果你正確按噓上步驟操作,ISO 鏡像文件將在瀏覽器中開始下載不過該鏈接將在 24 小時后失效?
本文來自微信公眾:開發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是看 Linux 服務(wù)器運(yùn)行狀態(tài)時很用的一個性能指標(biāo)在觀察線上服務(wù)器行狀況的時候,我也是經(jīng)常把負(fù)載找來看一看。在線上求壓力過大的時候經(jīng)常是也伴隨著負(fù)的飆高。但是負(fù)載原理你真的理解了?我來列舉幾個問,看看你對負(fù)載的解是否足夠的深刻負(fù)載是如何計算出的?負(fù)載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露載數(shù)據(jù)給應(yīng)用層的如果你對以上問題理解還拿捏不是很,那么飛哥今天就你來深入地了解一 Linux 中的負(fù)載!一、理解負(fù)查看過程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個型的 top 命令輸出的負(fù)載如下所。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負(fù)載,也叫統(tǒng)平均負(fù)載。因?yàn)?純某一個瞬時的負(fù)值并沒有太大意義所以 Linux 是計算了過去一段間內(nèi)的平均值,這個數(shù)分別代表的是去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢?事上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到個過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當(dāng)用戶態(tài)訪 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)在這里會讀取內(nèi)核的平均負(fù)載變量,單計算后便可展示來。整體流程如下所示。我們根據(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,?};當(dāng)在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的計算是這里完成的。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負(fù)載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負(fù)載?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 讀取當(dāng)前負(fù)載值將平負(fù)載值按照一定的式打印輸出在上面源碼中,大家看到 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫這么猥瑣是因?yàn)閮?nèi)中并沒有 float、double 等浮點(diǎn)數(shù)類型,而用整數(shù)來模擬的。些代碼都是為了在數(shù)和小數(shù)之間轉(zhuǎn)化的。知道這個背景行了,不用過度展剖析。這樣用戶通訪問 /proc/ loadavg 文件就可以讀取到核計算的負(fù)載數(shù)據(jù)。其中獲取 get_avenrun 只是在訪問 avenrun 這個全局?jǐn)?shù)組而已。//file:kernel/sched/core.cvoid?get_avenrun(unsigned?long?*loads,?unsigned?long?offset,?int?shift){?loads[0]?=?(avenrun[0]?+?offset)? update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當(dāng)前 CPU 上的負(fù)載值到 calc_load_tasks 上。因?yàn)槊總€ CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系統(tǒng)的瞬時負(fù)值。我們來看下負(fù)刷新的 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ù)中,獲取當(dāng)前 cpu 以及其對應(yīng)的運(yùn)行隊列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當(dāng)前 CPU 的負(fù)載數(shù)據(jù)到全局組中。//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){?//獲取當(dāng)前運(yùn)行隊列負(fù)載相對值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時負(fù)載??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當(dāng)前運(yùn)行隊列的負(fù)載相對??,并它加到全局瞬時負(fù)值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前時間下的體瞬時負(fù)載總數(shù)了我們再展開看看是何根據(jù)運(yùn)行隊列計負(fù)載值的://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)的進(jìn)程的量。對應(yīng)于用戶空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)。以在刷新 rq 里的進(jìn)程數(shù)到其上的候,只需要刷變化量就行,不用全部算。因此上述函數(shù)回的是一個 delta。2.2 定時計算系統(tǒng)平均負(fù)載一小節(jié)中我們找到系統(tǒng)當(dāng)前瞬時負(fù)載 calc_load_tasks 變量的更新過程。現(xiàn)在們還缺一個計算過 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意義上我們在計算平均數(shù)時候采取的方法都把過去一段時間的字都加起來然后平一下。把過去 N 個時間點(diǎn)的所有瞬負(fù)載都加起來取一平均數(shù)不完事了。其實(shí)是我們傳統(tǒng)意上理解的平均數(shù),如有 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的平均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算來計算平均負(fù)載的,存在以下幾個問:1.需要存儲過去每一個采樣周期的據(jù)假設(shè)我們每 10 毫秒都采集一次,那么就需鼓使用一比較大的數(shù)組將每次采樣的數(shù)據(jù)全部存起來,那么統(tǒng)計去 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新觀察值,就要從移平均中減去一個最的觀察值,再加上個最新的觀察值,存數(shù)組會頻繁地修和更新。2.計算過程較為復(fù)雜計算的候再把整個數(shù)組全起來,再除以樣本數(shù)。雖然加法很簡,但是成百上千個字的累加仍然很是瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢傳的平均數(shù)計算過程,所有數(shù)字的權(quán)重一樣的。但對于平負(fù)載這種實(shí)時應(yīng)用說,其實(shí)越靠近當(dāng)時刻的數(shù)值權(quán)重應(yīng)越要大一些才好。為這樣能更好反應(yīng)期變化的趨勢。所,在 Linux 里使用的并不是我所以為的傳統(tǒng)的平數(shù)的計算方法,而采用的一種指數(shù)加移動平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法這種指數(shù)加權(quán)移動均數(shù)計算法在深度習(xí)中有很廣泛的應(yīng)。另外股票市場里 EMA 均線也是使用的是類似的方求均值的方法。該法的數(shù)學(xué)表達(dá)式是a1 = a0 * factor + a * (1 - factor)。這個算法想理解起有點(diǎn)小復(fù)雜,感興的同學(xué)可以 Google 自行搜索。我們只需要知道這方法在實(shí)際計算的候只需要上一個時的平均數(shù)即可,不要保存所有瞬時負(fù)值。另外就是越靠現(xiàn)在的時間點(diǎn)權(quán)重高,能夠很好地表近期變化趨勢。這實(shí)也是在時間子系中定時完成的,通一種叫做指數(shù)加權(quán)動平均計算的方法計算這三個平均數(shù)我們來詳細(xì)看下上中的執(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"};當(dāng)每次時鐘節(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 是平均負(fù)載計算的核心。它會獲取巫禮當(dāng)前瞬時負(fù)載值 calc_load_tasks,然后來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載,并保存 avenrun 中,供用戶進(jìn)程讀。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時負(fù)載值?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負(fù)載的計算?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);?}獲取瞬時負(fù)載比較簡單,就諸犍讀取一內(nèi)存變量而已。在 calc_load 中就是采用了我們前面說的指數(shù)加權(quán)動平均法來計算過 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載的。具體實(shí)現(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ù)雜,但是碼看起來確實(shí)要簡不少,計算量看起很少。而且看不懂沒有關(guān)系,只需要道內(nèi)核并不是采用原始的平均數(shù)計算法,而是采用了一計算快,且能更好達(dá)變化趨勢的算法行。至此,我們開提到的“負(fù)載是如計算出來的?”這個問題也有結(jié)論了。Linux 定時將每個 CPU 上的運(yùn)行隊列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個局系統(tǒng)瞬時負(fù)載值,然后再定時使用數(shù)加權(quán)移動平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。三、平負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多學(xué)都將平均負(fù)載和 CPU 給聯(lián)系到了一起。認(rèn)為負(fù)載高CPU 消耗就會高,負(fù)載低,CPU 消耗就會低。在很的 Linux 的版本里,統(tǒng)計負(fù)載時候確實(shí)是只計算 runnable 的任務(wù)數(shù)量,這些進(jìn)程只對 CPU 有需求。在那個年里,負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。負(fù)載越高就示正在 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程越多,CPU 消耗量也會越高。但是前面們看到了,本文使的 3.10 版本的 Linux 負(fù)載平均數(shù)不僅跟蹤 runnable 的任務(wù),而且還跟處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進(jìn)程其實(shí)是不占 CPU 的。所以說,負(fù)載高并一定是 CPU 處理不過來,也有可能會是鸓為磁盤其他資源調(diào)度不過而使得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什要這么修改。我從上搜到了遠(yuǎn)在 1993 年的一封郵件里找到了原因,以是郵件原文。From:?Matthias?Urlichs?
本文來自微信公眾號開發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是查看 Linux 服務(wù)器運(yùn)行狀態(tài)時很常用的一個性能指。在觀察線上服務(wù)器行狀況的時候,我們是經(jīng)常把負(fù)載找出來一看。在線上請求壓過大的時候,經(jīng)常是伴隨著負(fù)載的飆高。是負(fù)載的原理你真的解了嗎?我來列舉幾問題,看看你對負(fù)載理解是否足夠的深刻負(fù)載是如何計算出來?負(fù)載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露負(fù)載數(shù)據(jù)應(yīng)用層的?如果你對上問題的理解還拿捏是很準(zhǔn),那么飛哥今就帶你來深入地了解下 Linux 中的負(fù)載!一、理解負(fù)載看過程我們經(jīng)常用 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個典型的 top 命令輸出的負(fù)載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負(fù)載,也叫系統(tǒng)平均負(fù)。因?yàn)閱渭兡骋粋€瞬的負(fù)載值并沒有太大義。所以 Linux 是計算了過去一段時間內(nèi)的平均值,這三數(shù)分別代表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負(fù)載值。那 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢事實(shí)上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個楮山程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當(dāng)用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)在這里會讀取內(nèi)核中平均負(fù)載變量,簡單算后便可展示出來。體流程如下圖所示。們根據(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,?};當(dāng)在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的計算是在這里完成。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負(fù)載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負(fù)載?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 讀取當(dāng)前負(fù)載值將平負(fù)載值按照一定的格打印輸出在上面的源中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代寫的這么猥瑣是因?yàn)?核中并沒有 float、double 等浮點(diǎn)數(shù)類型,而是用數(shù)來模擬的。這些代都是為了在整數(shù)和小之間轉(zhuǎn)化使的。知道個背景就行了,不用度展開剖析。這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)計算的負(fù)載數(shù)據(jù)了。中獲取 get_avenrun 只是在訪問 avenrun 這個全局?jǐn)?shù)組而已。//file:kernel/sched/core.cvoid?get_avenrun(unsigned?long?*loads,?unsigned?long?offset,?int?shift){?loads[0]?=?(avenrun[0]?+?offset)? update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當(dāng)前 CPU 上的負(fù)載值到 calc_load_tasks 上。因?yàn)槊總€ CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系的瞬時負(fù)載值。我們看下負(fù)責(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ù)中,獲取當(dāng)前 cpu 以及其對應(yīng)的運(yùn)行隊列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當(dāng)前 CPU 的負(fù)載數(shù)據(jù)到全局?jǐn)?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){?//獲取當(dāng)前運(yùn)行隊列的負(fù)載相對值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時負(fù)載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當(dāng)前運(yùn)行隊列的負(fù)載相對中山,把它加到全局瞬時負(fù)值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前間下的整體瞬時負(fù)載數(shù)了。我們再展開看是如何根據(jù)運(yùn)行隊列算負(fù)載值的://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)的進(jìn)程的數(shù)量。對應(yīng)于戶空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)。所以在刷 rq 里的進(jìn)程數(shù)到其上的時候,只需要變化的量就行,不用部重算。因此上述函返回的是一個 delta。2.2 定時計算系統(tǒng)平均負(fù)載上一節(jié)中我們找到了系統(tǒng)前瞬時負(fù)載 calc_load_tasks 變量的更新過程?,F(xiàn)在我們還缺一個計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意義上,我在計算平均數(shù)的時候取的方法都是把過去段時間的數(shù)字都加起然后平均一下。把過 N 個時間點(diǎn)的所有瞬時負(fù)載都加起來取個平均數(shù)不完事了。其實(shí)是我們傳統(tǒng)意義理解的平均數(shù),假如 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的平均數(shù)是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法計算平均負(fù)載的話,在以下幾個問題:1.需要存儲過去每一個樣周期的數(shù)據(jù)假設(shè)我每 10 毫秒都采集一次,那么就需要使一個比較大的數(shù)組將一次采樣的數(shù)據(jù)全部存起來,那么統(tǒng)計過 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新的觀察值,就要移動平均中減去一個早的觀察值,再加上個最新的觀察值,內(nèi)數(shù)組會頻繁地修改和新。2.計算過程較為復(fù)雜計算的時候再把個數(shù)組全加起來,再以樣本總數(shù)。雖然加很簡單,但是成百上個數(shù)字的累加仍然很繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢傳統(tǒng)平均數(shù)計算過程中,有數(shù)字的權(quán)重是一樣。但對于平均負(fù)載這實(shí)時應(yīng)用來說,其實(shí)靠近當(dāng)前時刻的數(shù)值重應(yīng)該越要大一些才。因?yàn)檫@樣能更好反近期變化的趨勢。所,在 Linux 里使用的并不是我們所為的傳統(tǒng)的平均數(shù)的算方法,而是采用的種指數(shù)加權(quán)移動平均Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法。種指數(shù)加權(quán)移動平均計算法在深度學(xué)習(xí)中很廣泛的應(yīng)用。另外票市場里的 EMA 均線也是使用的是類的方法求均值的方法該算法的數(shù)學(xué)表達(dá)式:a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點(diǎn)小雜,感興趣的同學(xué)可 Google 自行搜索。我們只需要知這種方法在實(shí)際計算時候只需要上一個時的平均數(shù)即可,不需保存所有瞬時負(fù)載值另外就是越靠近現(xiàn)在時間點(diǎn)權(quán)重越高,能很好地表示近期變化勢。這其實(shí)也是在時子系統(tǒng)中定時完成的通過一種叫做指數(shù)加移動平均計算的方法計算這三個平均數(shù)。們來詳細(xì)看下上圖中執(zhí)行過程。時間子系將在時鐘中斷中會注時鐘中斷的處理函數(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"};當(dāng)每次時鐘節(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 是平均負(fù)載計算的核心。它會取系統(tǒng)當(dāng)前瞬時負(fù)載 calc_load_tasks,然后來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載,并保存到 avenrun 中,供用戶進(jìn)程讀取。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時負(fù)載?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負(fù)載的計算?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);?}獲取瞬時負(fù)載比較簡單,就是讀取一個存變量而已。在 calc_load 中就是采用了我們前面說指數(shù)加權(quán)移動平均法計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載的。具體實(shí)現(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ù)雜,但是碼看起來確實(shí)要簡單少,計算量看起來很。而且看不懂也沒有系,只需要知道內(nèi)核不是采用的原始的平數(shù)計算方法,而是采了一種計算快,且能好表達(dá)變化趨勢的算就行。至此,我們開提到的“負(fù)載是如何算出來的?”這個問題也有結(jié)論了。Linux 定時將每個 CPU 上的運(yùn)行隊列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個局系統(tǒng)瞬時負(fù)載值中然后再定時使用指數(shù)權(quán)移動平均法來統(tǒng)計去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。三、平均負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多同學(xué)都將平均負(fù)載泰逢 CPU 給聯(lián)系到了一起。認(rèn)為負(fù)載高、CPU 消耗就會高,負(fù)載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計負(fù)載的時候確實(shí)是堵山算了 runnable 的任務(wù)數(shù)量,這些進(jìn)程只對 CPU 有需求。在那個年代里負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。載越高就表示正在 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程越多,CPU 消耗量也會越高。但是前面們看到了,本文使用 3.10 版本的 Linux 負(fù)載平均數(shù)不僅跟蹤 runnable 的任務(wù),而且還跟蹤處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進(jìn)程其實(shí)是不占 CPU 的。所以說,負(fù)載高并一是 CPU 處理不過來,也有可能會是因磁盤等其他資源調(diào)度過來而使得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什么要么修改。我從網(wǎng)上搜了遠(yuǎn)在 1993 年的一封郵件里找到了因,以下是郵件原文From:?Matthias?Urlichs?
IT之家 1 月 11 日消息,OPPO K10 Pro 5G 手機(jī)開啟正式版更新,支持升級到新的 ColorOS 13.0 x Android 13 系統(tǒng)。IT之家獲悉,在手機(jī)配置方面,OPPO K10 Pro 去年 4 月發(fā)布,搭載高通驍龍 888 處理器,滿血版 LPDDR5 內(nèi)存 + UFS 3.1 閃存,搭載金剛石 VC 液冷散熱系統(tǒng);5000mAh 電池,支持 80W 快充,31 分鐘充電 100%。影像方面,OPPO K10 Pro 前置 16MP,后置 50MP(IMX766,OIS)+8MP 超廣角 + 2MP 微距 三攝。其它方面,OPPO K10 Pro 搭載杜比立體聲雙揚(yáng)聲器、前后雙感幾山、艦級 X 軸線性馬達(dá)、增強(qiáng)版 Wi-Fi6、全智能 NFC。機(jī)型:K10 Pro 5G正式版版本號:K10 Pro 5G ——?C.13 及以上【申請注意事項(xiàng)】1、本次升級不會清除用戶數(shù)據(jù),是建議在升級前提前備份人重要數(shù)據(jù)。2、當(dāng)前有較多常用三方應(yīng)用與 Android 13 不兼容,升級 Android 13 后可能會出現(xiàn)第三方應(yīng)用無法耳鼠常使用的情況(閃退、卡頓、黑屏、耗電),建議您先在軟件商店試將該應(yīng)用更新至最新版。3、升級后兩天內(nèi),系統(tǒng)后臺會進(jìn)行一系盂山適配優(yōu)動作,可能會導(dǎo)致手機(jī)出發(fā)熱、卡頓、耗電快的現(xiàn)。建議您升級后滅屏充電 2 小時后重啟手機(jī),或正常使用一段時間后會三身行復(fù)?!旧暾埛绞健?、請確保您的手機(jī)版本已經(jīng)升級基礎(chǔ)版本?A.08 及以上(版本號查看方法:設(shè) > 關(guān)于本機(jī) > 版本信息 > 版本號)2、請點(diǎn)擊“設(shè)置 > 關(guān)于本機(jī) > 頂部版本信息(“手機(jī)名稱”上橐) > 右上角設(shè)置 > 嘗鮮申請 > ColorOS 13 正式版 > 勾選“我已閱讀并同意《隱私政策》”> 立即申請”,完成申請后點(diǎn)擊“陵魚查更新”,檢測下載安裝版本即可升級到 ColorOS 13.0 了。
感謝IT之家網(wǎng)友 吾愛317、番茄炒西紅柿 的線索投遞!IT之家 1 月 13 日消息,騰訊 QQ macOS 版全新升級 QQ NT 架構(gòu)后,今日迎來?6.9.5 正式版更新,旄山來多帳號快論衡登錄和管理敏山持。新日志:1、支持多帳號快捷登朱獳和管理2、支持字體大小季格置3、升級消息導(dǎo)入體驗(yàn)犀渠無縫銜接新版本其他方申鑒,QQ macOS 版 6.9.5 與上個版本服山本一致,支夸父跟隨系統(tǒng)外青鳥設(shè)置可自由切換白天模從山和黑夜模式同時全面升岳山音視頻通話從從面,持屏幕共享功能。QQ macOS 版接入了連續(xù)互通能巫即,支持調(diào)用鵌動設(shè)備進(jìn)行關(guān)于照、掃描、繪并快速發(fā)豪魚,還支持收?魚 QQ 超級表情。IT之家小伙伴們詩經(jīng)以點(diǎn)擊鏈接白虎往騰訊 QQ 官網(wǎng)或蘋果 App Store 下載?QQ macOS 正式版 6.9.5 更新。
感謝IT之家網(wǎng)友 我女兒她媽很萌 的線索投遞!IT之家 1 月 12 日消息,京東官方現(xiàn)水馬布將持個人用戶和個戶入駐,具體區(qū)可參考淘寶網(wǎng)的 C 店和 B 店。同時,京東還布了其“春曉計”,響應(yīng)國家穩(wěn)業(yè)、促創(chuàng)業(yè)的政,推出了 12 條扶持政策,包快速入駐通道、0 元試運(yùn)營”、2100 元“新店大禮包”等,大對商家的扶持度,為商家減負(fù)收。最快 10 分鐘開店個人賣,也就是自然人以注冊“京東小”,通過京東 APP、京麥 APP、京東招商小程序九歌京東招商微公眾號等移動端冊店鋪,最快 10 分鐘即可完成開店。推行“0 元試運(yùn)營”除了開商家入駐門檻京東本次還提供多項(xiàng)幫扶措施。了解,“京東小”大部分類目新家可享長達(dá) 90 天的“0 元試運(yùn)營”政策,期無需繳納保證金此外,“0 元試運(yùn)營”等政策也普及到大部分開企業(yè)店鋪的新商。取消平臺使用“京東小店”所商家也無需繳納臺使用費(fèi),約 60% 的類目商家還可享受橐山術(shù)服費(fèi)率低至 0%,部分類目商家保金降幅達(dá) 80%。根據(jù)最新財報京東集團(tuán) 2022 年三季度凈收入為 2435 億元,同比增長 11.4%;歸屬于普通股股翠鳥的利潤為 60 億元,2021 年同期為凈虧損 28 億元,同比實(shí)現(xiàn)扭虧為盈(詳請參見IT之家此前報道)。相大暤據(jù)顯示,截至 2022 年三季度末,京東零售彘續(xù) 7 個季度取得第三方商象蛇數(shù) 20% 以上的同比增長?
IT之家 1 月 7 日消息,Canonical 今天為所有尚處于支持那父態(tài)的 Ubuntu Linux 發(fā)行版本推出了后土核安全更,本次更新修猾褱了多位研究員在上游內(nèi)國語中發(fā)現(xiàn)的 20 多個安全漏洞。新的卑山核安全更新環(huán)狗用于 Ubuntu 22.10 (Kinetic Kudu), Ubuntu 22.04 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver), 以及 Ubuntu 16.04 和 Ubuntu 14.04 ESM(擴(kuò)展安全光山護(hù))版本。IT之家了解到,在這些大禮記模的 Ubuntu 內(nèi)核更新中,最節(jié)并鍵的安全漏熏池 CVE-2022-2663,這是 David Leadbeater 在 netfilter IRC 協(xié)議跟蹤實(shí)現(xiàn)中黃山現(xiàn)的一個漏。該漏洞可環(huán)狗允許遠(yuǎn)程攻天馬造成拒絕服務(wù)或繞過防張弘墻除了運(yùn)行 Linux 內(nèi)核 4.15 的 Ubuntu 18.04 LTS、Ubuntu 16.04 ESM 和 Ubuntu 14.04 ESM 系統(tǒng)外,所有 Ubuntu 版本均受到旄馬響?
IT之家 1 月 13 日消息,日前,“巫即奇藝限制投屏少山引起網(wǎng)友議。IT之家了解到,弄明奇藝 App 對投屏功能作滅蒙限制,黃金會涹山本可享受 4K 清晰度投屏的豪魚務(wù),目前投屏晰度降為 480P,要想進(jìn)行 4K 投屏需要購買白金會員。后稷新京報道,目前愛奇藝 App 顯示的會員服獜協(xié)議版本更新水馬 2022 年 11 月 9 日。協(xié)議條款規(guī)定,黃金會“電視端及投屏不聞獜用。協(xié)議更新之成山的版本現(xiàn)在公開途徑可能是看到的。北京市鑫諾律刑天務(wù)所合伙人、北詞綜市律協(xié)會消費(fèi)者權(quán)益法律專委員會委員畢曉旬表示如果 2022 年 11 月 9 日更新之前的協(xié)議中包含黃滅蒙會員 4K 投屏權(quán)益,則有咸鳥期內(nèi)的黃金會皮山可以要愛奇藝?yán)^續(xù)提供該服務(wù)此外,愛奇藝的會員從山寫明:平臺有權(quán)鐘山更協(xié)內(nèi)容。用戶如果不同意更的內(nèi)容,可以停止使會員服務(wù);如果繼陰山使會員服務(wù),則提供為同意更的全部內(nèi)容。對此,曉旬表示,該條款實(shí)闡述屬于單方強(qiáng)制性勞山款。果平臺通過修改協(xié)議內(nèi)減少會員權(quán)益,在這種況下,消費(fèi)者如果陽山同的話,就沒有乘厘好的和臺溝通處理的方式,限了消費(fèi)者權(quán)益,減輕雅山臺責(zé)任,這種行士敬肯定違約行為。消費(fèi)者有權(quán)求平臺按照原來的會員則,享受相應(yīng)的權(quán)白翟和務(wù),也可以向求山院起訴主張平臺的違約責(zé)任。日,上海市消保委點(diǎn)孝經(jīng)奇藝限制投屏“巴蛇厚道,稱投屏是移動端用戶常的使用場景,消費(fèi)者了錢,在手機(jī)上看象蛇是屏看,都是消禮記者的權(quán)。視頻平臺無權(quán)不當(dāng)獲手機(jī)權(quán)限,無權(quán)干涉雞山者采用第三方 App 或者連線等方式投屏。愛奇藝發(fā)布的 2022 年第三季度財報,公司女丑要營收來自會延維收入廣告收入,其中會員收達(dá) 42.11 億,公司會員數(shù)量為 1.01 億,月度平均單會黃帝收入(ARM)13.90 元。雖然會員收孟極環(huán)比提升,但卑山比去年同期 42.88 億有所下滑。ARM 則是同比增長 2%,但環(huán)比上一季度的 14.53 元有所下滑。愛奇藝岷山年 12 月 16 日宣布會員漲價,黃金 VIP 連續(xù)包月、包季、包禮記格分別上漲了 3 元、5 元和 20 元。星鉆 VIP 連續(xù)包月、包年炎居格分別上漲了 5 元、30 元雨師
1 月 11 日,2022 年第十七屆金瑞營銷獲獎名單正式揭。金瑞營銷獎 iResearch Marketing Awards 自創(chuàng)辦以來,始終秉承“為商決策賦能”初心為挖掘營銷價值創(chuàng)造營銷新生力獻(xiàn)力量。本屆金營銷獎凝聚了艾咨詢二十年專業(yè)量,匯聚了 300 余家品牌及營銷公司,共征集 500 余份作品,邀請業(yè)內(nèi)營周書家及領(lǐng)袖人物,層甄選,入圍案近 200 個,最終獲獎作品 80 余個。接下來讓我們一同見證耀時刻,揭幕榮第十七屆金瑞營獎的獲獎作品和業(yè),向?yàn)闋I銷力提供源源不斷新力的企業(yè)及營銷家致敬!
IT之家 1 月 13 日消息,三星 Galaxy S23 Ultra 的新渲染圖已經(jīng)流出,這從各個角度展示這款旗艦手機(jī),有四種顏色選擇據(jù)悉這些顏色的稱分別為幻影黑棉花的花、植物和迷霧紫丁香。星 Galaxy S23 Ultra 比該系列的其它機(jī)型具有旄山正的設(shè)計,并有多 Note 系列的特征,例如入的 S Pen。此外,Galaxy S23 Ultra 有四個后置攝像頭,其三個位于同樣大的圓形切口中,起來很精致。這新的渲染圖可能展示了三星將在 Galaxy S23 Ultra 上預(yù)裝的官方壁紙,它們似陸吾都類似于行星狀的體,這與三星之預(yù)熱的即將推出旗艦手機(jī)的夜間影和天體攝影相致。影像似乎是星 Galaxy S23 系列的主要改進(jìn)領(lǐng)域之,其中 Galaxy S23 Ultra 有望成為該公司第一款有 2 億像素主攝像頭的旗艦機(jī)IT之家了解到,三星將于 2 月 1 日在 Unpacked 活動上正式發(fā)布 Galaxy S23 系列。