日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 架構(gòu)師社區(qū)
[導(dǎo)讀]線上服務(wù)的GC問(wèn)題,是Java程序非常典型的一類(lèi)問(wèn)題,非??简?yàn)工程師排查問(wèn)題的能力。同時(shí),幾乎是面試必考題,但是能真正答好此題的人并不多,要么原理沒(méi)吃透,要么缺乏實(shí)戰(zhàn)經(jīng)驗(yàn)。 過(guò)去半年時(shí)間里,我們的廣告系統(tǒng)出現(xiàn)了多次和GC相關(guān)的線上問(wèn)題,有Full GC過(guò)于

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!


線上服務(wù)的GC問(wèn)題,是Java程序非常典型的一類(lèi)問(wèn)題,非??简?yàn)工程師排查問(wèn)題的能力。同時(shí),幾乎是面試必考題,但是真正答好此題的人并不多,要么原理沒(méi)吃透,要么缺乏實(shí)戰(zhàn)經(jīng)驗(yàn)。

過(guò)去半年時(shí)間里,我們的廣告系統(tǒng)出現(xiàn)了多次和GC相關(guān)的線上問(wèn)題,有Full GC過(guò)于頻繁的,有Young GC耗時(shí)過(guò)長(zhǎng)的,這些問(wèn)題帶來(lái)的影響是:GC過(guò)程中的程序卡頓,進(jìn)一步導(dǎo)致服務(wù)超時(shí)從而影響到廣告收入。

這篇文章,我將以一個(gè)FGC頻繁的線上案例作為引子,詳細(xì)介紹下GC的排查過(guò)程,另外會(huì)結(jié)合GC的運(yùn)行原理給出一份實(shí)踐指南,希望對(duì)你有所幫助。內(nèi)容分成以下3個(gè)部分:

  • 從一次FGC頻繁的線上案例說(shuō)起
  • GC的運(yùn)行原理介紹
  • 排查FGC問(wèn)題的實(shí)踐指南

01 從一次FGC頻繁的線上案例說(shuō)起

去年10月份,我們的廣告召回系統(tǒng)在程序上線后收到了FGC頻繁的系統(tǒng)告警,通過(guò)下面的監(jiān)控圖可以看到:平均每35分鐘就進(jìn)行了一次FGC。而程序上線前,我們的FGC頻次大概是2天一次。下面,詳細(xì)介紹下該問(wèn)題的排查過(guò)程。

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

1. 檢查JVM配置
通過(guò)以下命令查看JVM的啟動(dòng)參數(shù):
ps aux | grep "applicationName=adsearch"

-Xms4g -Xmx4g -Xmn2g -Xss1024K 

-XX:ParallelGCThreads=5 

-XX:+UseConcMarkSweepGC 

-XX:+UseParNewGC 

-XX:+UseCMSCompactAtFullCollection 

-XX:CMSInitiatingOccupancyFraction=80

可以看到堆內(nèi)存為4G,新生代為2G,老年代也為2G,新生代采用ParNew收集器,老年代采用并發(fā)標(biāo)記清除的CMS收集器,當(dāng)老年代的內(nèi)存占用率達(dá)到80%時(shí)會(huì)進(jìn)行FGC。
進(jìn)一步通過(guò) jmap  -heap  7276 head  -n20   可以 得知新生代的Eden區(qū)為1.6G,S0和S1區(qū)均為0.2G。
2. 觀察老年代的內(nèi)存變化

通過(guò)觀察老年代的使用情況,可以看到:每次FGC后,內(nèi)存都能回到500M左右,因此我們排除了內(nèi)存泄漏的情況。

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

3. 通過(guò)jmap命令查看堆內(nèi)存中的對(duì)象
通過(guò)命令  jmap -histo 7276 | head -n20

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

上圖中,按照對(duì)象所占內(nèi)存大小排序,顯示了存活對(duì)象的實(shí)例數(shù)、所占內(nèi)存、類(lèi)名??梢钥吹脚琶谝坏氖牵?/span>int[],而且所占內(nèi)存大小遠(yuǎn)遠(yuǎn)超過(guò)其他存活對(duì)象。至此,我們將懷疑目標(biāo)鎖定在了 int[] .

4. 進(jìn)一步dump堆內(nèi)存文件進(jìn)行分析

鎖定 int[] 后,我們打算dump堆內(nèi)存文件,通過(guò)可視化工具進(jìn)一步跟蹤對(duì)象的來(lái)源??紤]堆轉(zhuǎn)儲(chǔ)過(guò)程中會(huì)暫停程序,因此我們先從服務(wù)管理平臺(tái)摘掉了此節(jié)點(diǎn),然后通過(guò)以下命令dump堆內(nèi)存:

jmap -dump:format=b,file=heap 7276

通過(guò)JVisualVM工具導(dǎo)入dump出來(lái)的堆內(nèi)存文件,同樣可以看到各個(gè)對(duì)象所占空間,其中int[]占到了50%以上的內(nèi)存,進(jìn)一步往下便可以找到 int[] 所屬的業(yè)務(wù)對(duì)象,發(fā)現(xiàn)它來(lái)自于架構(gòu)團(tuán)隊(duì)提供的codis基礎(chǔ)組件。

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

5. 通過(guò)代碼分析可對(duì)象

通過(guò)代碼分析,codis基礎(chǔ)組件每分鐘會(huì)生成約40M大小的int數(shù)組,用于統(tǒng)計(jì)TP99 和 TP90,數(shù)組的生命周期是一分鐘。而根據(jù)第2步觀察老年代的內(nèi)存變化時(shí),發(fā)現(xiàn)老年代的內(nèi)存基本上也是每分鐘增加40多M,因此推斷:這40M的int數(shù)組應(yīng)該是從新生代晉升到老年代。

我們進(jìn)一步查看了YGC的頻次監(jiān)控,通過(guò)下圖可以看到大概1分鐘有8次左右的YGC,這樣基本驗(yàn)證了我們的推斷:因?yàn)镃MS收集器默認(rèn)的分代年齡是6次,即YGC 6次后還存活的對(duì)象就會(huì)晉升到老年代,而codis組件中的大數(shù)組生命周期是1分鐘,剛好滿足這個(gè)要求。

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

至此,整個(gè)排查過(guò)程基本 結(jié)束了,那為什么程序上線前沒(méi)出現(xiàn)此問(wèn)題呢?通過(guò)上圖可以看到:程序上線前YGC的頻次在5次左右,此次上線后YGC頻次變成了8次左右,從而引發(fā)了此問(wèn)題。

6. 解決方案

為了快速解決問(wèn)題,我們將CMS收集器的分代年齡改成了15次,改完后FGC頻次恢復(fù)到了2天一次,后續(xù)如果YGC的頻次超過(guò)每分鐘15次還會(huì)再次觸發(fā)此問(wèn)題。當(dāng)然,我們最根本的解決方案是:優(yōu)化程序以降低YGC的頻率,同時(shí)縮短codis組件中int數(shù)組的生命周期,這里就不做展開(kāi)了。


02 GC的運(yùn)行原理介紹

上面整個(gè)案例的分析過(guò)程中,其實(shí)涉及到很多GC的原理知識(shí),如果不懂得這些原理就著手處理,其實(shí)整個(gè)排查過(guò)程是很抓瞎的。

這里,我選擇幾個(gè)最核心的知識(shí)點(diǎn),展開(kāi)介紹下GC的運(yùn)行原理,最后再給出一份實(shí)踐指南。
1. 堆內(nèi)存結(jié)構(gòu)

大家都知道: GC分為YGC和FGC,它們均發(fā)生在JVM的堆內(nèi)存上。先來(lái)看下JDK8的堆內(nèi)存結(jié)構(gòu):

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

可以看到,堆內(nèi)存采用了分代結(jié)構(gòu),包括新生代和老年代。新生代又分為:Eden區(qū),F(xiàn)rom Survivor區(qū)(簡(jiǎn)稱S0),To Survivor區(qū)(簡(jiǎn)稱S1區(qū)),三者的默認(rèn)比例為8:1:1。另外,新生代和老年代的默認(rèn)比例為1:2。
堆內(nèi)存之所以采用分代結(jié)構(gòu),是考慮到絕大部分對(duì)象都是短生命周期的,這樣不同生命周期的對(duì)象可放在不同的區(qū)域中,然后針對(duì)新生代和老年代采用不同的垃圾回收算法,從而使得GC效率最高。
2. YGC是什么時(shí)候觸發(fā)的?
大多數(shù)情況下,對(duì)象直接在年輕代中的Eden區(qū)進(jìn)行分配, 如果Eden區(qū)域沒(méi)有足夠的空間,那么就會(huì)觸發(fā)YGC(Minor GC),YGC處理的區(qū)域 只有新生代。因?yàn)榇蟛糠謱?duì)象在短時(shí)間內(nèi)都是可收回掉的,因此YGC后只有極少數(shù)的對(duì)象能存活下來(lái),而被移動(dòng)到S0區(qū)(采用的是復(fù)制算法)。
當(dāng)觸發(fā)下一次YGC時(shí),會(huì)將Eden區(qū)和S0區(qū)的存活對(duì)象移動(dòng)到S1區(qū),同時(shí)清空Eden區(qū)和S0區(qū) 。當(dāng)再次觸發(fā)YGC時(shí),這時(shí)候處理的區(qū)域就變成了Eden區(qū)和S1區(qū)(即S0和S1進(jìn)行角色交換)。每經(jīng)過(guò)一次YGC,存活對(duì)象的年齡就會(huì)加1。
3. FGC又是什么時(shí)候觸發(fā)的

下面4種情況,對(duì)象會(huì)進(jìn)入到老年代中:

  • YGC時(shí),To Survivor區(qū)不足以存放存活的對(duì)象,對(duì)象會(huì)直接進(jìn)入到老年代。
  • 經(jīng)過(guò)多次YGC后,如果存活對(duì)象的年齡達(dá)到了設(shè)定閾值,則會(huì)晉升到老年代中。
  • 動(dòng)態(tài)年齡判定規(guī)則,To Survivor區(qū)中相同年齡的對(duì)象,如果其大小之和占到了 To Survivor區(qū)一半以上的空間,那么大于此年齡的對(duì)象會(huì)直接進(jìn)入老年代,而不需要達(dá)到默認(rèn)的分代年齡。
  • 大對(duì)象:-XX:PretenureSizeThreshold啟動(dòng)參數(shù)控制 若對(duì)象大小大于此值,就會(huì)繞過(guò)新生代, 直接在老年代中分配。

當(dāng)晉升到老年代的對(duì)象大于了老年代的剩余空間時(shí),就會(huì)觸發(fā)FGC(Major GC),FGC處理的區(qū)域同時(shí)包括新生代和老年代。除此之外,還有以下4種情況也會(huì)觸發(fā)FGC:

  • 老年代的內(nèi)存使用率達(dá)到了一定閾值(可通過(guò)參數(shù)調(diào)整),直接觸發(fā)FGC。

  • 空間分配擔(dān)保:在YGC之前,會(huì)先檢查老年代最大可用的連續(xù)空間是否大于新生代所有對(duì)象的總空間。如果小于,說(shuō)明YGC是不安全的,則會(huì)查看參數(shù) HandlePromotionFailure 是否被設(shè)置成了允許擔(dān)保失敗,如果不允許則直接觸發(fā)Full GC;如果允許,那么會(huì)進(jìn)一步檢查老年代最大可用的連續(xù)空間是否大于歷次晉升到老年代對(duì)象的平均大小,如果小于也會(huì)觸發(fā) Full GC。
  • Metaspace(元空間)在空間不足時(shí)會(huì)進(jìn)行擴(kuò)容,當(dāng)擴(kuò)容到了-XX:MetaspaceSize 參數(shù)的指定值時(shí),也會(huì)觸發(fā)FGC。
  • System.gc() 或者Runtime.gc() 被顯式調(diào)用時(shí),觸發(fā)FGC。
4. 在什么情況下,GC會(huì)對(duì)程序產(chǎn)生影響?

不管YGC還是FGC,都會(huì)造成一定程度的程序卡頓(即Stop The World問(wèn)題:GC線程開(kāi)始工作,其他工作線程被掛起),即使采用ParNew、CMS或者G1這些更先進(jìn)的垃圾回收算法,也只是在減少卡頓時(shí)間,而并不能完全消除卡頓。

那到底什么情況下,GC會(huì)對(duì)程序產(chǎn)生影響呢?根據(jù)嚴(yán)重程度從高到底,我認(rèn)為包括以下4種情況:

  • FGC過(guò)于頻繁:FGC通常是比較慢的,少則幾百毫秒,多則幾秒,正常情況FGC每隔幾個(gè)小時(shí)甚至幾天才執(zhí)行一次,對(duì)系統(tǒng)的影響還能接受。但是,一旦出現(xiàn)FGC頻繁(比如幾十分鐘就會(huì)執(zhí)行一次),這種肯定是存在問(wèn)題的,它會(huì)導(dǎo)致工作線程頻繁被停止,讓系統(tǒng)看起來(lái)一直有卡頓現(xiàn)象,也會(huì)使得程序的整體性能變差。

  • YGC耗時(shí)過(guò)長(zhǎng) :一般來(lái)說(shuō),YGC的總耗時(shí)在幾十或者上百毫秒是比較正常的,雖然會(huì)引起系統(tǒng)卡頓幾毫秒或者幾十毫秒,這種情況幾乎對(duì)用戶無(wú)感知,對(duì)程序的影響可以忽略不計(jì)。但是如果YGC耗時(shí)達(dá)到了1秒甚至幾秒(都快趕上FGC的耗時(shí)了),那卡頓時(shí)間就會(huì)增大,加上YGC本身比較頻繁,就會(huì)導(dǎo)致比較多的服務(wù)超時(shí)問(wèn)題。
  • FGC耗時(shí)過(guò)長(zhǎng) :FGC耗時(shí)增加,卡頓時(shí)間也會(huì)隨之增加,尤其對(duì)于高并發(fā)服務(wù),可能導(dǎo)致FGC期間比較多的超時(shí)問(wèn)題,可用性降低,這種也需要關(guān)注。
  • YGC過(guò)于頻繁 :即使YGC不會(huì)引起服務(wù)超時(shí),但是YGC過(guò)于頻繁也會(huì)降低服務(wù)的整體性能,對(duì)于高并發(fā)服務(wù)也是需要關(guān)注的。
其中,FGC過(guò)于頻繁YGC耗時(shí)過(guò)長(zhǎng),這兩種情況屬于比較典型的GC問(wèn)題,大概率會(huì)對(duì)程序的服務(wù)質(zhì)量產(chǎn)生影響。剩余兩種情況的嚴(yán)重程度低一些,但是對(duì)于高并發(fā)或者高可用的程序也需要關(guān)注。

03 排查FGC問(wèn)題的實(shí)踐指南
通過(guò)上面的案例分析以及理論介紹,再總結(jié)下FGC問(wèn)題的排查思路,作為一份實(shí)踐指南供大家參考。
1. 清楚從程序角度,有哪些原因?qū)е翭GC? 
  • 大對(duì)象:系統(tǒng)一次性加載了過(guò)多數(shù)據(jù)到內(nèi)存中(比如SQL查詢未做分頁(yè)),導(dǎo)致大對(duì)象進(jìn)入了老年代。
  • 內(nèi)存泄漏:頻繁創(chuàng)建了大量對(duì)象,但是無(wú)法被回收(比如IO對(duì)象使用完后未調(diào)用close方法釋放資源),先引發(fā)FGC,最后導(dǎo)致OOM.
  • 程序頻繁生成一些長(zhǎng)生命周期的對(duì)象,當(dāng)這些對(duì)象的存活年齡超過(guò)分代年齡時(shí)便會(huì)進(jìn)入老年代,最后引發(fā)FGC. (即本文中的案例)
  • 程序BUG導(dǎo)致動(dòng)態(tài)生成了很多新類(lèi),使得 Metaspace 不斷被占用,引發(fā)FGC,最后導(dǎo)致OOM.
  • 代碼中顯式調(diào)用了 gc方法,包括自己的代碼甚至框架中的代碼。
  • JVM參數(shù)設(shè)置問(wèn)題:包括總內(nèi)存大小、新生代和老年代的大小、Eden區(qū)和S區(qū)的大小、元空間大小、垃圾回收算法等等。


2. 清楚排查問(wèn)題時(shí)能使用哪些工具
  • 公司的監(jiān)控系統(tǒng):大部分公司都會(huì)有,可全方位監(jiān)控JVM的各項(xiàng)指標(biāo)。
  • JDK的自帶工具,包括jmap、jstat等常用命令:
    # 查看 堆內(nèi)存各區(qū)域的使用率 以及GC情況
    jstat -gcutil -h20 pid 1000
    # 查看堆內(nèi)存中的存活對(duì)象,并按空間排序
    jmap -histo pid | head -n20
    # dump堆內(nèi)存文件
    jmap -dump:format=b,file=heap pid
  • 可視化的堆內(nèi)存分析工具:JVisualVM、MAT等

3. 排查指南

  • 查看監(jiān)控,以了解出現(xiàn)問(wèn)題的時(shí)間點(diǎn)以及當(dāng)前FGC的頻率(可對(duì)比正常情況看頻率是否正常)
  • 了解該時(shí)間點(diǎn)之前有沒(méi)有程序上線、基礎(chǔ)組件升級(jí)等情況。
  • 了解JVM的參數(shù)設(shè)置,包括:堆空間各個(gè)區(qū)域的大小設(shè)置,新生代和老年代分別采用了哪些垃圾收集器,然后分析JVM參數(shù)設(shè)置是否合理。
  • 再對(duì)步驟1中列出的可能原因做排除法,其中元空間被打滿、內(nèi)存泄漏、代碼顯式調(diào)用gc方法比較容易排查。
  • 針對(duì)大對(duì)象或者長(zhǎng)生命周期對(duì)象導(dǎo)致的FGC,可通過(guò) jmap -histo 命令并結(jié)合dump堆內(nèi)存文件作進(jìn)一步分析,需要先定位到可疑對(duì)象。
  • 通過(guò)可疑對(duì)象定位到具體代碼再次分析,這時(shí)候要結(jié)合GC原理和JVM參數(shù)設(shè)置,弄清楚可疑對(duì)象是否滿足了進(jìn)入到老年代的條件才能下結(jié)論。

最后的話
這篇文章通過(guò)線上案例并結(jié)合GC原理詳細(xì)介紹了FGC的排查過(guò)程,同時(shí)給出了一份實(shí)踐指南。
后續(xù)會(huì)以類(lèi)似的方式,再分享一個(gè)YGC耗時(shí)過(guò)長(zhǎng)的案例,希望能幫助大家吃透GC問(wèn)題排查, 如果覺(jué)得本文對(duì)你有幫助, 請(qǐng)幫忙轉(zhuǎn)發(fā)或者點(diǎn)個(gè)再看!

特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒(méi)關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

長(zhǎng)按訂閱更多精彩▼

線上服務(wù)的FGC問(wèn)題排查,看這篇就夠了!

如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉