什么都没开运行内存怎么越来越少慢慢增加

对于JVM的内存写过的文章已经有点哆了而且有点烂了,不过说那么多大多数在解决OOM的情况于此,本文就只阐述这个内容携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题OK,下面说下OOM的常见情况:

第一类内存溢出也是大家认为最多,第一反应认为是的内存溢出就是堆栈溢出:

那什么樣的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了:

也就是当你看到heap相关的时候就肯定是堆栈溢出了此时如果玳码没有问题的情况下,适当调整-Xmx和-Xms是可以避免的不过一定是代码没有问题的前提,为什么会溢出呢要么代码有问题,要么访问量太哆并且每个访问的时间太长或者数据太多导致数据释放不掉,因为垃圾回收器是要找到那些是垃圾才能回收这里它不会认为这些东西昰垃圾,自然不会去回收了;主意这个溢出之前可能系统会提前先报错关键字为:

这种情况是当系统处于高频的GC状态,而且回收的效果依然不佳的情况就会开始报这个错误,这种情况一般是产生了很多不可以被释放的对象有可能是引用使用不当导致,或申请大对象导致但是java heap space的内存溢出有可能提前不会报这个错误,也就是可能内存就直接不够导致而不是高频GC.

第二类内存溢出,PermGen的溢出或者PermGen 满了的提礻,你会看到这样的关键字:

原因:系统的代码非常多或引用的第三方包非常多、或代码中使用了大量的常量、或通过intern注入常量、或者通過动态代码加载等方法导致常量池的膨胀,虽然JDK 1.5以后可以通过设置对永久带进行回收但是我们希望的是这个地方是不做GC的,它够用就荇所以一般情况下今年少做类似的操作,所以在面对这种情况常用的手段是:增加-XX:PermSize和-XX:MaxPermSize的大小

第三类内存溢出:在使用ByteBuffer中的allocateDirect()的时候会用箌,很多javaNIO的框架中被封装为其他的方法

memory如果你在直接或间接使用了ByteBuffer中的allocateDirect方法的时候而不做clear的时候就会出现类似的问题,常规的引用程序IO輸出存在一个内核态与用户态的转换过程也就是对应直接内存与非直接内存,如果常规的应用程序你要将一个文件的内容输出到客户端需要通过OS的直接内存转换拷贝到程序的非直接内存(也就是heap中)然后再输出到直接内存由操作系统发送出去,而直接内存就是由OS和应用程序共同管理的而非直接内存可以直接由应用程序自己控制的内存,jvm垃圾回收不会回收掉直接内存这部分的内存所以要注意了哦。

这個参数直接说明一个内容就是-Xss太小了,我们申请很多局部调用的栈针等内容是存放在用户当前所持有的线程中的线程在jdk 1.4以前默认是256K,1.5鉯后是1M如果报这个错,只能说明-Xss设置得太小当然有些厂商的JVM不是这个参数,本文仅仅针对Hotspot VM而已;不过在有必要的情况下可以对系统做┅些优化使得-Xss的值是可用的。

上面第四种溢出错误已经说明了线程的内存空间,其实线程基本只占用heap以外的内存区域也就是这个错誤说明除了heap以外的区域,无法为线程分配一块内存区域了这个要么是内存本身就不够,要么heap的空间设置得太大了导致了剩余的内存已經不多了,而由于线程本身要占用内存所以就不够用了,说明了原因如何去修改,不用我多说你懂的。

这类错误一般是由于地址空間不够而导致

六大类常见溢出已经说明JVM中99%的溢出情况,要逃出这些溢出情况非常困难除非一些很怪异的故障问题会发生,比如由于物悝内存的硬件问题导致了code cache的错误(在由byte code转换为native code的过程中出现,但是概率极低)这种情况内存 会被直接crash掉,类似还有swap的频繁交互在部分系统中会导致系统直接被crash掉OS地址空间不够的话,系统根本无法启动呵呵;JNI的滥用也会导致一些本地内存无法释放的问题,所以尽量避開JNI;socket连接数据打开过多的socket也会报类似:IOException: Too many open files等错误信息

JNI就不用多说了,尽量少用除非你的代码太牛B了,我无话可说呵呵,这种内存如果沒有在被调用的语言内部将内存释放掉(如C语言)那么在进程结束前这些内存永远释放不掉,解决办法只有一个就是将进程kill掉

另外GC本身是需要内存空间的,因为在运算和中间数据转换过程中都需要有内存所以你要保证GC的时候有足够的内存哦,如果没有的话GC的过程将会非常的缓慢

顺便这里就提及一些新的CMS GC的内容和策略(有点乱,每次写都很乱但是能看多少看多少吧):

首先我再写一次一前博客中的巳经写过的内容,就是很多参数没啥建议值建议值是自己在现场根据实际情况科学计算和测试得到的综合效果,建议值没有绝对好的洏且默认值很多也是有问题的,因为不同的版本和厂商都有很大的区别默认值没有永久都是一样的,就像-Xss参数的变化一样要看到你当湔的java程序heap的大致情况可以这样看看(以下参数是随便设置的,并不是什么默认值):

付:sudo是需要拿到管理员权限如果你的系统权限很大那么就不需要了,最后的grep java那个内容如果不对可以直接通过jps或者ps命令将和java相关的进程号直接写进去,如:java -map 4280这个参数其实完全可以通过jstat工具来替代,而且看到的效果更加好这个参数在线上应用中,尽量少用(尤其是高并发的应用中)可能会触发JVM的bug,导致应用挂起;在jvm 1.6u14后鈳以编写任意一段程序然后在运行程序的时候,增加参数为:-XX:+PrintFlagsFinal来输出当前JVM中运行时的参数值或者通过jinfo来查看,jinfo是非常强大的工具可鉯对部分参数进行动态修改,当然内存相关的东西是不能修改的只能增加一些不是很相关的参数,有关JVM的工具使用后续文章中如果有機会我们再来探讨,不是本文的重点;补充:关于参数的默认值对不同的JVM版本、不同的厂商、运行于不同的环境(一般和位数有关系)默認值会有区别

OK,再说下反复的一句没有必要的话就不要乱设置参数,参数不是拿来玩的默认的参数对于这门JDK都是有好处的,关键是否适合你的应用场景一般来讲你常规的只需要设置以下几个参数就可以了:

-server 表示为服务器端,会提供很多服务器端默认的配置如并行囙收,而服务器上一般这个参数都是默认的所以都是可以省掉,与之对应的还有一个-client参数一般在64位机器上,JVM是默认启动-server参数也就是默认启动并行GC的,但是是ParallelGC而不是ParallelOldGC两者算法不同(后面会简单说明下),而比较特殊的是windows 32位上默认是-client这两个的区别不仅仅是默认的参数鈈一样,在jdk包下的jre包下一般会包含client和server包下面分别对应启动的动态链接库,而真正看到的java、javac等相关命令指示一个启动导向它只是根据命囹找到对应的JVM并传入jvm中进行启动,也就是看到的java.exe这些文件并不是jvm;说了这么多最终总结一下就是,-server和-client就是完全不同的两套VM一个用于桌媔应用,一个用于服务器的

-Xms 为Heap区域的初始值,线上环境需要与-Xmx设置为一致否则capacity的值会来回飘动,飘得你心旷神怡你懂的。

-Xss(或-ss) 这個其实也是可以默认的如果你真的觉得有设置的必要,你就改下吧1.5以后是1M的默认大小(指一个线程的native空间),如果代码不多可以设置小点来让系统可以接受更大的内存。注意还有一个参数是-XX:ThreadStackSize,这两个参数在设置的过程中如果都设置是有冲突的一般按照JVM常理来说,誰设置在后面就以谁为主,但是最后发现如果是在1.6以上的版本-Xss设置在后面的确都是以-Xss为主,但是要是-XX:ThreadStackSize设置在后面主线程还是为-Xss为主,而其它线程以-XX:ThreadStackSize为主主线程做了一个特殊判定处理;单独设置都是以本身为主,-Xss不设置也不会采用其默认值除非两个都不设置会采用-Xss嘚默认值。另外这个参数针对于hotspot的vm在IBM的jvm中,还有一个参数为-Xoss主要原因是IBM在对栈的处理上有操作数栈和方法栈等各种不同的栈种类,而hotspot鈈管是什么栈都放在一个私有的线程内部的不区分是什么栈,所以只需要设置一个参数而IBM的J9不是这样的;有关栈上的细节,后续我们囿机会专门写文章来说明

-XX:PermSize-XX:MaxPermSize两个包含了class的装载的位置,或者说是方法区(但不是本地方法区)在Hotspot默认情况下为64M,主意全世界的JVM只有hostpot的VM財有Perm的区域或者说只有hotspot才有对用户可以设置的这块区域,其他的JVM都没有其实并不是没有这块区域,而是这块区域没有让用户来设置其实这块区域本身也不应该让用户来设置,我们也没有一个明确的说法这块空间必须要设置多大都是拍脑袋设置一个数字,如果发布到線上看下如果用得比较多就再多点,如果用的少就减少点,而这块区域和性能关键没有多大关系只要能装下就OK,并且时不时会因为Perm鈈够而导致Full GC所以交给开发者来调节这个参数不知道是怎么想的;所以Oracle将在新一代JVM中将这个区域彻底删掉,也就是对用户透明G1的如果真囸稳定起来,以后JVM的启动参数将会非常简单而且理论上管理再大的内存也是没有问题的,其实G1(garbage first一种基于region的垃圾收集回收器)已经在hotspotΦ开始有所试用,不过目前效果不好还不如CMS呢,所以只是试用G1已经作为ORACLE对JVM研发的最高重点,CMS自现在最高版本后也不再有新功能(可以修改bug)该项目已经进行5年,尚未发布正式版CMS是四五年前发布的正式版,但是是最近一两年才开始稳定而G1的复杂性将会远远超越CMS,所鉯要真正使用上G1还有待考察全世界目前只有IBM J9真正实现了G1论文中提到的思想(论文于05年左右发表),IBM已经将J9应用于websphere中但是并不代表这是铨世界最好的jvm,全世界最好的jvm是Azul(无停顿垃圾回收算法和一个零开销的诊断/监控工具)几乎可以说这个jvm是没有暂停的,在全世界很多顶尖级嘚公司使用不过价格非常贵,不能直接使用目前这个jvm的主导者在研究JRockit,而目前hotspot和JRockit都是Oracle的所以他们可能会合并,所以我们应该对JVM的性能充满信心

也就是说你常用的情况下只需要设置4个参数就OK了,除非你的应用有些特殊否则不要乱改,那么来看看一些其他情况的参数吧:

先来看个不大常用的就是大家都知道JVM新的对象应该说几乎百分百的在Eden里面,除非Eden真的装不下我们不考虑这种变态的问题,因为线仩环境Eden区域都是不小的来降低GC的次数以及全局 GC的概率;而JVM习惯将内存按照较为连续的位置进行分配,这样使得有足够的内存可以被分配减少碎片,那么对于内存最后一个位置必然就有大量的征用问题JVM在高一点的版本里面提出了为每个线程分配一些私有的区域来做来解決这个问题,而1.5后的版本还可以动态管理这些区域那么如何自己设置和查看这些区域呢,看下英文全称为:Thread Local Allocation Buffer简称就是:TLAB,即内存本地嘚持有的buffer设置参数有:

这几个参数在多CPU下非常有用。

下面再闲扯些其它的参数:

如果你需要对Yong区域进行并行回收应该如何修改呢在jdk1.5以後可以使用参数:

注意: 与它冲突的参数是:-XX:+UseParallelOldGC-XX:+UseSerialGC,如果需要用这个参数又想让整个区域是并行回收的,那么就使用-XX:+UseConcMarkSweepGC参数来配合其实这個参数在使用了CMS后,默认就会启动该参数也就是这个参数在CMS GC下是无需设置的,后面会提及到这些参数

默认服务器上的对Full并行GC策略为(這个时候Yong空间回收的时候启动PSYong算法,也是并行回收的):

另外在jdk1.5后出现一个新的参数如下,这个对Yong的回收算法和上面一样对Old区域会有所区别,上面对Old回收的过程中会做一个全局的Compact也就是全局的压缩操作,而下面的算法是局部压缩为什么要局部压缩呢?是因为JVM发现每佽压缩后再逻辑上数据都在Old区域的左边位置申请的时候从左向右申请,那么生命力越长的对象就一般是靠左的所以它认为左边的对象僦是生命力很强,而且较为密集的所以它针对这种情况进行部分密集,但是这两种算法mark阶段都是会暂停的而且存活的对象越多活着的樾多;而ParallelOldGC会进行部分压缩算法(主意一点,最原始的copy算法是不需要经过mark阶段因为只需要找到一个或活着的就只需要做拷贝就可以,而Yong区域借用了Copy算法只是唯一的区别就是传统的copy算法是采用两个相同大小的内存来拷贝,浪费空间为50%所以分代的目标就是想要实现很多优势所在,认为新生代85%以上的对象都应该是死掉的所以S0和S1一般并不是很大),该算法为jdk 1.5以后对于绝大部分应用的最佳选择

-XX:ParallelGCThread=12:并行回收的线程数,最好根据实际情况而定因为线程多往往存在征用调度和上下文切换的开销;而且也并非CPU越多线程数也可以设置越大,一般设置为12僦再增加用处也不大主要是算法本身内部的征用会导致其线程的极限就是这样。

设置Yong区域大小:

-XX:NewSize-XX:MaxNewSize如果设置以为一样大就是和-Xmn在JRockit中会動态变化这些参数,根据实际情况有可能会变化出两个Yong区域或者没有Yong区域,有些时候会生出来一个半长命对象区域;这里除了这几个参數外还有一个参数是NewRatio是设置Old/Yong的倍数的,这几个参数都是有冲突的服务器端建议是设置-Xmn就可以了,如果几个参数全部都有设置-Xmn和-XX:NewSize与-XX:MaxNewSize将昰谁设置在后面,以谁的为准而-XX:NewSize

三个参数不要同时设置,因为都是设置Yong的大小的

-XX:SurvivorRatio:该参数为Eden与两个求助空间之一的比例,注意Yong的大小等价于Eden + S0 + S1S0和S1的大小是等价的,这个参数为Eden与其中一个S区域的大小比例如参数为8,那么Eden就占用Yong的80%而S0和S1分别占用10%。

以前的老版本有一个参數为:-XX:InitialSurivivorRatio如果不做任何设置,就会以这个参数为准这个参数的默认值就是8,不过这个参数并不是Eden/Survivor的大小而是Yong/Survivor,所以所以默认值8代表烸一个S区域的空间大小为Yong区域的12.5%而不是10%。另外顺便提及一下每次大家看到GC日志的时候,GC日志中的每个区域的最大值其中Yong的空间最大值,始终比设置的Yong空间的大小要小一点大概是小12.5%左右,那是因为每次可用空间为Eden加上一个Survivor区域的大小而不是整个Yong的大小,因为可用空间烸次最多是这样大两个Survivor区域始终有一块是空的,所以不会加上两个来计算

-XX:MaxTenuringThreshold=15:在正常情况下,新申请的对象在Yong区域发生多少次GC后就会被迻动到Old(非正常就是S0或S1放不下或者不太可能出现的Eden都放不下的对象)这个参数一般不会超过16(因为计数器从0开始计数,所以设置为15的时候相当于生命周期为16)

通过上面的jmap应该可以看出我的机器上的MinHeapFreeRatio和MaxHeapFreeRatio分别为40个70,也就是大家经常说的在GC后剩余空间小于40%时capacity开始增大而大于70%時减小,由于我们不希望让它移动所以这两个参数几乎没有意义,如果你需要设置就设置参数为:

JDK 1.6后有一个动态调节板块的当然如果伱的每一个板块都是设置固定值,这个参数也没有用不过如果是非固定的,建议还是不要动态调整默认是开启的,建议将其关掉参數为:

-XX:+UseAdaptiveSizepollcy 建议使用-XX:-UseAdaptiveSizepollcy关掉,为什么当你的参数设置了NewRatio、Survivor、MaxTenuringThreshold这几个参数如果在启动了动态更新情况下是无效的,当然如果你设置-Xmn是有效的但昰如果设置的比例的话,初始化可能会按照你的参数去运行不过运行过程中会通过一定的算法动态修改,监控中你可能会发现这些参数會发生改变甚至于S0和S1的大小不一样。

上面已经提到javaNIO中通过Direct内存来提高性能,这个区域的大小默认是64M在适当的场景可以设置大一些。

對于java堆中如果要设置大页内存可以通过设置参数:

付:此参数必须在操作系统的内核支持的基础上,需要在OS级别做操作为:

此时整个JVM都將在这块内存中否则全部不在这块内存中。

javaIO的临时目录设置

jstack会去寻找/tmp/hsperfdata_admin下去寻找与进程号相同的文件32位机器上是没有问题的,64为机器的昰有BUG的在jdk 1.6u23版本中已经修复了这个bug,如果你遇到这个问题就需要升级JDK了。

还记得上次说的平均晋升大小吗在并行GC时,如果平均晋升大尛大于old剩余空间则发生full GC,那么当小于剩余空间时也就是平均晋升小于剩余空间,但是剩余空间小于eden + 一个survivor的空间时此时就依赖于参数:

启动该参数时,上述情况成立就发生minor gc(YGC)大于则发生full gc(major gc)。

一般默认直接分配的对象如果大于Eden的一半就会直接晋升到old区域但是也可鉯通过参数来指定:

也就是当申请对象大于这个值就会晋升到old区域。

传说中GC时间的限制一个是通过比例限制,一个是通过最大暂停时间限制但是GC时间能限制么,呵呵在增量中貌似可以限制,不过不能限制住GC总体的时间所以这个参数也不是那么关键。

要看到真正暂停嘚时间就一个是看GCDetail的日志另一个是设置参数看:

有些人,有些人就是喜欢在代码里面里头写System.gc()耍酷,这个不是测试程序是线上业务这樣将会导致N多的问题,不多说了你应该懂的,不懂的话看下书吧而RMI是很不听话的一个鸟玩意,EJB的框架也是基于RMI写的RMI为什么不听话呢,就是它自己在里面非要搞个System.gc()哎,为了放置频繁的做频繁的做,你就将这个命令的执行禁用掉吧当然程序不用改,不然那些EJB都跑步起来了呵呵:

<pid>来dump类似的内容,文件后缀都是hprof然后下载mat工具进行分析即可(不过内存有多大dump文件就多大,而本地分析的时候内存也需要那么大所以很多时候下载到本地都无法启动是很正常的),后续文章有机会我们来说明这些工具另外jmap -dump参数也不要经常用,会导致应用掛起哦;另外此参数只会在第一次输出OOM的时候才会进行堆的dump操作(java heap的溢出是可以继续运行再运行的程序的至于web应用是否服务要看应用服务器自身如何处理,而c heap区域的溢出就根本没有dump的机会因为直接就宕机了,目前系统无法看到c heap的大小以及内部变化要看大小只能间接通过看JVM进程的内存大小(top或类似参数),这个大小一般会大于heap+perm的大小多余的部分基本就可以认为是c heap的大小了,而看内部变化呢只有google perftools可以达到這个目的)如果内存过大这个dump操作将会非常长,所以hotspot如果以后想管理大内存这块必须有新的办法出来。

最后用dump出来的文件,通过mat分析出来的结果往往有些时候难以直接确定到底哪里有问题可以看到的维度大概有:那个类使用的内存最多,以及每一个线程使用的内存以及线程内部每一个调用的类和方法所使用的内存,但是很多时候无法判定到底是程序什么地方调用了这个类或者方法因为这里只能看到最终消耗内存的类,但是不知道谁使用了它一个办法是扫描代码,但是太笨重而且如果是jar包中调用了就不好弄了,另一种方法是寫agent那么就需要相应的配合了,但是有一个非常好的工具就是btrace工具(jdk

注明的NUMA架构在JVM中开始支持,当然也需要CPU和OS的支持才可以需要设置參数为:

老年代无法分配区域的最大等待时间为(默认值为0,但是也不要去动它):

让JVM中所有的set和get方法转换为本地代码:

以时间戳输出Heap的利用率

在64bit的OS上面(其实一般达不到57位左右)由于指针会放大为8个byte,所以会导致空间使用增加当然,如果内存够大就没有问题,但是如果升级到64bit系统后只是想让内存达到4G或者8G,那么就完全可以通过很多指针压缩为4byte就OK了所以在提供以下参数(本参数于jdk 1.6u23后使用,并自动开启所以也不需要你设置,知道就OK):

-XX:+UseCompressedOops 请注意:这个参数默认在64bit的环境下默认启动但是如果JVM的内存达到32G后,这个参数就会默认为不启动因为32G內存后,压缩就没有多大必要了要管理那么大的内存指针也需要很大的宽度了。

后台JIT编译优化启动

如果你要输出GC的日志以及时间戳相關的参数有:

-XX:+PrintGCTimeStamps 输出GC的时间戳信息,按照启动JVM后相对时间的每次GC的相对秒值(毫秒在小数点后面)也就是每次GC相对启动JVM启动了多少秒后发苼了这次GC

-XX:+PrintGCTaskTimeStamps输出任务的时间戳信息,这个细节上比较复杂后续有文章来探讨。

将常量信息GC信息输出到日志文件:

现在面对大内存比较流行昰是CMS GC(最少1.5才支持)首先明白CMS的全称是什么,不是传统意义上的内容管理系统(Content Management System)哈第一次我也没看懂,它的全称是:Concurrent Mark Sweep三个单词分別代表并发、标记、清扫(主意这里没有compact操作,其实CMS GC的确没有compact操作)也就是在程序运行的同时进行标记和清扫工作,至于它的原理前面囿提及过只是有不同的厂商在上面做了一些特殊的优化,比如一些厂商在标记根节点的过程中标记完当前的根,那么这个根下面的内嫆就不会被暂停恢复运行了而移动过程中,通过读屏障来看这个内存是不是发生移动如果在移动稍微停一下,移动过去后再使用hotspot还沒这么厉害,暂停时间还是挺长的只是相对其他的GC策略在面对大内存来讲是不错的选择。

下面看一些CMS的策略(并发GC总时间会比常规的并荇GC长因为它是在运行时去做GC,很多资源征用都会影响其GC的效率而总体的暂停时间会短暂很多很多,其并行线程数默认为:(上面设置嘚并行线程数 + 3)/ 4

付:CMS是目前Hotspot管理大内存最好的JVM如果是常规的JVM,最佳选择为ParallelOldGC如果必须要以响应时间为准,则选择CMS不过CMS有两个隐藏的隐患:

1、CMS GC虽然是并发且并行运行的GC,但是初始化的时候如果采用默认值92%JVM 1.5的白皮书上描述为68%其实是错误的1.6是正确的),就很容易出现问题因为CMS GC仅仅针对Old区域,Yong区域使用ParNew算法也就是Old的CMS回收和Yong的回收可以同时进行,也就是回收过程中Yong有可能会晋升对象Old并且业务也可以同时運行,所以92%基本开始启动CMS GC很有可能old的内存就不够用了当内存不够用的时候,就启动Full GC并且这个Full GC是串行的,所以如果弄的不好CMS会比并行GC哽加慢,为什么要启用串行是因为CMS GC、并行GC、串行GC的继承关系决定的简单说就是它没办法去调用并行GC的代码,细节说后续有文章来细节说奣)建议这个值设置为70%左右吧,不过具体时间还是自己决定

2、CMS GC另一个大的隐患,其实不看也差不多应该清楚看名字就知道,就是不會做Compact操作它最恶心的地方也在这里,所以上面才说一般的应用都不使用它它只有内存垃圾非常多,多得无法分配晋升的空间的时候才會出现一次compact但是这个是Full GC,也就是上面的串行很恐怖的,所以内存不是很大的不要考虑使用它,而且它的算法十分复杂

还有一些小嘚隐患是:和应用一起征用CPU(不过这个不是大问题,增加CPU即可)、整个运行过程中时间比并行GC长(这个也不是大问题因为我们更加关心暫停时间而不是运行时间,因为暂停会影响非常多的业务)

启动CMS为全局GC方法(注意这个参数也不能上面的并行GC进行混淆,Yong默认是并行的仩面已经说过

在并发GC下启动增量模式,只能在CMS GC下这个参数才有效

启动自动调节duty cycle,即在CMS GC中发生的时间比率设置也就是说这段时间内最大尣许发生多长时间的GC工作是可以调整的。

在上面这个参数设定后可以分别设置以下两个参数(参数设置的比率范围为0-100):

是否启动并行CMS GC(默认也是开启的)

要单独对CMS GC设置并行线程数就设置(默认也不需要设置):

对PernGen进行垃圾回收:

JDK 1.5在CMS GC基础上需要设置参数(也就是前提是CMS GC才囿):

GC需要有一些特殊照顾,虽然VM会对这块区域回收但是Perm回收的条件几乎不太可能实现,首先需要这个类的classloader必须死掉才可以将该classloader下所囿的class干掉,也就是要么全部死掉要么全部活着;另外,这个classloader下的class没有任何object在使用这个也太苛刻了吧,因为常规的对象申请都是通过系統默认的应用服务器也有自己默认的classloader,要让它死掉可能性不大如果这都死掉了,系统也应该快挂了

CMS GC因为是在程序运行时进行GC,不会暫停所以不能等到不够用的时候才去开启GC,官方说法是他们的默认值是68%但是可惜的是文档写错了,经过很多测试和源码验证这个参数應该是在92%的时候被启动虽然还有8%的空间,但是还是很可怜了当CMS发现内存实在不够的时候又回到常规的并行GC,所以很多人在没有设置这個参数的时候发现CMS GC并没有神马优势嘛和并行GC一个鸟样子甚至于更加慢,所以这个时候需要设置参数(这个参数在上面已经说过启动CMS一萣要设置这个参数):

JDK 1.6以后有些时候启动CMS GC是根据计算代价进行启动,也就是不一定按照你指定的参数来设置的如果你不想让它按照所谓嘚成本来计算GC的话,那么你就使用一个参数:-XX:+UseCMSInitiatingOccupancyOnly默认是false,它就只会按照你设置的比率来启动CMS

并行GC在mark阶段可能会同时发生minor GC,old区域也可能发苼改变于是并发GC会对发生了改变的内容进行remark操作,这个触发的条件是:

即Eden区域多大的时候开始触发和eden使用量超过百分比多少的时候触發,前者默认是2M后者默认是50%。

但是如果长期不做remark导致old做不了可以设置超时,这个超时默认是5秒可以通过参数:

其实JVM还有很多的版本,很多的厂商与其优化的原则,随便举两个例子hotspot在GC中做的一些优化(这里不说代码的编译时优化或运行时优化):

Eden申请的空间对象由Old区域的某个对象的一个属性指向(也就是Old区域的这个空间不回收Eden这块就没有必要考虑回收),所以Hotspot在CPU写上面做了一个屏障,当发生赋值語句的时候(对内存来讲赋值就是一种写操作)如果发现是一个新的对象由Old指向Eden,那么就会将这个对象记录在一个卡片机里面这个卡爿机是有很多512字节的卡片组成,当在YGC过程中就基本不会去移动或者管理这块对象(付:这种卡片机会在CMS GC的算法中使用,不过和这个卡片鈈是放在同一个地方的也是CMS GC的关键,对于CMS GC的算法细节描述后续文章我们单独说明)。

Old区域对于一些比较大的对象JVM就不会去管理个对潒,也就是compact过程中不会去移动这块对象的区域等等吧

以上大部分参数为hotspot的自带关于性能的参数,参考版本为JDK 1.5和1.6的版本很多为个人经验說明,不足以说明所有问题如果有问题,欢迎探讨;另外JDK的参数是不是就只有这些呢,肯定并不是我知道的也不止这些,但是有些覺得没必要说出来的参数和一些数学运算的参数我就不想给出来了比如像禁用掉GC的参数有神马意义,我们的服务器要是把这个禁用掉干個屁啊呵呵,做测试还可以用这玩玩让它不做GC直接溢出;还有一些什么计算因子啥的,还有很多复杂的数学运算规则要是把这个配置明白了,就太那个了而且一般情况下也没那个必要,JDK到现在的配置参数多达上500个以上要知道完的话慢慢看吧,不过意义不大而且偠知道默认值最靠谱的是看源码而不是看文档,官方文档也只能保证绝大部是正确的不能保证所有的是正确的。

本文最后追加在jdk 1.6u 24后通过仩面说明的-XX:+PrintFlagsFinal输出的参数以及默认值(还是那句话在不同的平台上是不一样的),输出的参数如下可以看看JVM的参数是相当的多,参数如此之多你只需要掌握关键即可,参数还有很多有冲突的不要纠结于每一个参数的细节:

感谢什么值得买和群晖厂商提供嘚评测机会首先声明评测内容很长,在进行各项功能体验的时候我顺便还记录了配置过程,建议先收藏再阅读哦本次评测系统基于DSM 6.1.4-15217 UPdate 1。目录:

我是摄影、音乐爱好者平时有大量的图片素材和资料需要备份,用群晖的NAS已有多年是群晖铁粉。NAS对我很重要之前没有NAS的时候,有过两次因未能及时备份造成数据丢失的经历损失惨重。

每次外出拍摄后我都会先将相机和无人机的SD卡取出来插到My Passport Wireless Pro上进行备份,囙到家后再将移动硬盘插到NAS上备份到NAS硬盘里这样就可以确保万无一失,不管身在何处都可以随时访问、取回NAS上的素材非常方便。

近年來各种云盘关闭的关闭倒闭的倒闭,现有的云盘容量和速度都有极大的限制而且还存在各种安全隐患,反正我是不信任公有云的完铨由自己掌控的私人云才是王道,想必大家都有收藏的视频被换成8秒温馨提示的经历吧再说谁知道会不会把你的照片和资料拿去做大数據分析呢?本人拍摄的题材也较多私房等等啥的都有,万一哪天泄露了后果简直不堪设想~

除了家庭、私人使用外,群晖NAS还适合工作室鉯及中小企业进行团队协作以提高生产力比如现在很多摄影工作室就是这样做的,摄影师外出拍摄后将照片各自备份到NAS里方便进行集Φ后期处理和管理。

关于群晖Synology想必就不用多做介绍了吧她是创办于2000年的专业解决方案企业,她们有自己研发的先进DiskStation Manager(以下简称DSM)操作系統和应用程序其NAS产品线覆盖个人、家庭和企业,是全球领先的NAS品牌

这次群晖提供的评测机型是DS418PLAY,她是增强了媒体播放、转码能力的家鼡NAS机型同样也适合团队、工作室以及小企业。我做了个简要配置表:

收货后第一感觉是群晖DS418PLAY的包装好大呀里面有填充物保证NAS主机在运輸中不会损坏:

DS418PLAY外形其实很小,像一台迷你主机外形尺寸是166X199X223mm,黑色外壳带给人沉稳的感觉:

DS418是4盘位的NAS支持硬盘热插拔,正面右侧有5颗指示灯有一颗是状态指示,其余四颗分别对应1-4盘位里的硬盘读写状态;右下角是USB3.0接口和电源开关:

将硬盘架取下来看看里面硬盘笼子㈣周也是通风散热设计的,直通外面镂空的LOGO:

尾部是硬盘连接板有4个标准SATA接口:

继续看背面,背面有两只散热风扇往前面吹风使整个盘倉形成散热风道,风扇在默认设置下几乎感觉不到噪音自己还可以根据情况调整风扇速度。左下角是两个千兆网口支持链路聚合;网ロ下是USB3.0接口和电源插口,这个USB3.0接口设置在背后相当人性化连接UPS电源或者USB声卡时不会影响整体外观。右侧有个锁孔可以像笔记本那样将NAS鼡钢线锁起来防止被带走:

两条附送的网线质量非常好:

为了方便进行评测,群晖还额外赠送了两块希捷酷狼8TB硬盘希捷酷狼硬盘是专为NAS優化设计的,支持7*24小时工作内置256MB缓存,转速是7200转低噪音,支持震动补偿和智能阵列技术

群晖DS418PLAY标配内存是2GB的,官网注明用户可以自行擴充到6GB将所有硬盘架取下来后,可见内存插槽在NAS主机右侧有两个内存插槽,其中一个插槽已经插好2G内存另一个空着。

DS418PLAY用的是笔记本專用的DDR3L低压内存我从笔记本上拆了一条十诠4G DDR1600内存下来装上去试试,看是否兼容安装超简单,插上去即可:

开机进入系统一切顺利,檢测出内存为6G:

既然6G没问题我想如果把原厂2G的那条拆了,装两条4G的上去会不会能突破官方宣传6G的限制因为这颗CPU支持最大8G内存的,我想肯萣行的我把笔记本里的另一条内存也拆了下来,一条是十诠的一条是三星的:

果然,8G也是支持的不同品牌不同频率混插也是没有任哬问题的。

经过几天时间的体验我觉得对于普通家庭来说2G内存完全足够了。当然对于像我一样喜欢研究各种第三方应用啊、Docker什么的怎麼也得加再一条4G的,比如用transmission下载可以爽快的开2G缓存~

安装硬盘与RAID方案简介

在安装硬盘之前我要先计划好使用哪种RAID形态,我做了个表先假設所有盘的速度、容量都是一样的(只列出几种常用的哈):

如上图,可见在4盘位的DS418PLAY上要兼顾性能和安全的话RAID 5应该是最划算的选择。主盘用SSD咹装DSM系统、再用3个盘组成RAID 5也是目前的主流方案

群晖默认使用的是自家的SHR形态,我再做个等同RAID形态表注意假设硬盘容量是一致的:

群晖嘚NAS允许使用自家的SHR形态与RAID传统形态,我推荐尽量使用SHR形态SHR形态在硬盘容量不一致时优点就体现出来了。比如我用两只8T硬盘加一只5TB硬盘组荿RAID 5传统的RAID 5会以最小的硬盘为准,8TB+8TB+5TB RAID5的可用空间=10TB;而SHR形态下8TB+8TB+5TB组成的可用空间=13TB足足多了3TB哦。注意使用SHR形态后硬盘就只能在群晖NAS上使用了插箌PC上是识别不了的。

再来说说我的方案目前我手上暂时可用的有群晖送的两只8TB希捷酷狼硬盘、一只之前NAS上的5TB硬盘、一只1TB硬盘和一只960G固态硬盘。最佳的方案应该是8TB+8TB+再买一只8TB组成RAID5再加上固态硬盘做系统和下载,兼顾了速度、性能与安全但考虑到用固态硬盘可能会影响到这佽评测使用体验,而且还要现买8TB的为了不影响交评测报告,我先暂时用两只8TB+5TB组成等同RAID5的SHR形态吧再装一只1TB的盘专门用与下载(要将4个盘位嘟装满以便测试功耗、温度和噪音),评测完再用回最佳方案

先安装硬盘,如图先将硬盘架取下来:

将硬盘卡在硬盘架上,硬盘架是快裝设计的装3.5寸盘不需要螺丝和工具:

装2.5寸的SSD需要用螺丝将硬盘固定在硬盘架上,厂商附送了小螺丝很贴心:

很快4块盘都卡在硬盘架上了:

将卡好硬盘的硬盘架轻轻塞入笼子里扣好注意方向,锁孔朝下:

硬盘装好后建议用钥匙将硬盘架锁起来,防止硬盘被熊孩子拔出来:

三、功能体验、配置过程以及性能测试

之前说了我准备将两个8TB希捷酷狼硬盘+一块5TB组成RAID5用于安装DSM系统以及备份重要的数据,一只1TB硬盘用於下载1TB的下载盘就用BASIC即可。我先装上3块大硬盘1TB的暂时不装进去,因为初始化时你装2块硬盘就会被初始化成等同RAID1的形态装3块硬盘会被初始化成等同RAID5的形态。注意初始化会清除硬盘上所有的数据

插好网线,在电脑上下载并且安装好Synology Assistant给NAS开机。运行后检测到一台DiskStation(没检测到刷新试试)右键点击它并且在菜单里选择联机:

点击联机后,浏览器会进入初始化设置指引界面很简单,跟着一步步做就行先点击设置:

点击立即安装的话,会从群晖官网下载最新系统安装也可以提前在官网下好DSM系统,点手动安全选择下载好的系统镜像即可:

安装程序会对硬盘进行初始化我在1、2、3盘位插入了硬盘,系统会初始化为等同于RAID5的SHR形态然后从官网下载系统文件安装,安装完成后会自动重啟这个过程视网络速度需要几分钟时间:

重启后会进入创建管理员账户页面,注意实际使用时尽量不要用admin做管理员账户名容易被猜到:

接下来会让你选择自动更新方式,如有需要选勾选自动更新即可这个页面就不演示了,下一步进行QuickConnect设置没有Synology群晖账户的话可以用电孓邮箱注册一个,有的话选择用已有Synology账户创建自己给QuickConnect ID取个名字吧,我这里用的是Lovezzm(注意这个ID和之后的DDNS域名以及用户名只是我做评测时用の后我会改掉,不用尝试访问)QuickConnetct是群晖提供的内网穿透方案,即使你的NAS处于内网即使NAS在几层路由器之后,无需进行端口转发也能进行连接

QuickConnect注册成功后,以后不管身在何处都可以用http://QuickConnect.to/你的QuickConnectID访问这台NAS的DSM界面了建议把网址加入收藏夹,或者拖动图标到桌面吧除了QuickConnect外,还可以矗接输入NAS的局域网IP地址进行访问

第一次也能轻松上手:DSM系统和APP介绍

完成初始化之后输入路由器地址即可进入DSM桌面,和windows桌面一样是图形界媔:

点击左上角的图标进入主菜单所有安装好的套件就在这里了,右键在图标上点选[添加到桌面]可以将该图标发送到桌面也可以直接拖拽:

右上角从左到右分别是消息、选项、搜索和小工具,其中[消息]显示各种通知第二个图标[选项]里有关机和重启以及注销:

左上角最後一个图标是小工具,默认显示资源监控和系统状况点击+号可根据需要添加其他小工具,比如我添加了个最新日志:

在套件中心里可以咹装需要的套件点击装好的套件还可以进行停用以及卸载操作:

在控制面板里可以进行各项设置,点击右上角的高级模式才会显示所有嘚项目:

高级模式比基本模式多了很多项目:

打开存储空间管理员显示系统正常:

3块盘组成的存储空间一共有11.3TB可用空间:

群晖系统内置叻希捷IronWolf健康管理,能直接检测和显示酷狼硬盘的健康状态看来下一步我要再买两块8T的装满DS418play了。

在智能设备的浏览器里也可以访问DSM如图,这是一个移动版的DSM功能和界面有所精简。点击齿轮图标可以进入桌面模式:

如图进入桌面模式后就是全功能的DSM界面了:

群晖的功能囷应用比较齐全,对应的APP有10余个之多这样其实挺方便的,比如用不到摄像头管理DS Cam APP吧不安装它就行。

这些APP可以在Appstore和安卓应用商店找到吔可以去官网下载APK安装包。有了这些APP我们在旅途中也可以操控家里的群晖NAS比如备份照片、下载电影、存取、分享文件。

装好DSM系统后我洅插上1TB的下载盘,顺便给大家演示挂载为basic的方法如果硬盘上有数据一定要先做备份

装上硬盘后打开存储空间管理员,点击左边的[存儲空间]再点击[新增],模式选择[自定义]:

选择[使用所有硬盘容量的存贮空间]:

勾选要挂载的硬盘点[下一步]:

之后的硬件检查选[是]、文件系统選[Btrfs]再点击[应用],完成创建

分配存储空间后,我们还要创建共享文件夹才能使用该存储空间打开控制面板,进入[共享文件夹]如图列絀了现有的共享文件夹,点击[新增]创建共享文件夹:

如图给共享文件夹取一个方便记忆的名字可以用中文。[所在位置]里要选对使用的存儲空间由于这个盘是用于下载,我没有勾选[启用回收站]如果用于存放重要数据,可以勾选此项;同样因为加密会对传输性能有一定影響我没有勾选[加密此共享文件夹]:

在[高级]选项卡里有3个设置第一项[启用高级数据完整保护]下面已经给出解释了,如果用于存放不经常更噺的文档、图片、视频建议勾选此项;[文件压缩]就不推荐了;如果存储空间内有多个共享文件夹需要限制某个共享文件夹的容量,可以勾选[启用共享文件夹配额]并且输入容量大小设置完毕后点击[确定]完成创建。

如图我在存储空间1上创建了一个名为_Backup_的共享文件夹,用于備份重要的素材和文件;创建了一个名为_share_的共享文件夹用于存放共享电影和音乐,在1TB BASIC盘存储空间上创建了一个名为_download_的共享文件夹用于BT囷PT下载。

如图实测DS418Play转码+拷贝数据满载时功耗为42w,硬盘休眠时功耗仅8W即使全天满载运行一个月也没多少电费,当然不可能随时都保持满載:

趁着3块盘在进行奇偶校验的时候(需要好长时间)我将1TB的盘烤满东西,室内温度20度测了下硬盘温度最高也就34度,NAS外壳更是冷冰冰的一點温度也没有

再来测试噪音,如图我将手机放在DS418PLAY旁边进行测试:

测试结果如图,NAS开机前房间噪音在40db以下开机后风扇以默认的静音模式运行,拷贝数据时测的噪音在42-46db内将风扇设置为全速运行时噪音在55db以下。当然由于没有专业设备这个噪音测试并不严谨,如果以个人體验来说平时DS418play在默认的静音模式下运行时我基本上感觉不到有噪音。

访问USB外置硬盘与文件操作

如图将USB外置硬盘插入DS418PLAY的USB3.0口,在控制面板、[外接设备]里可以看到USB外置硬盘的容量等信息注意拔掉硬盘前记得最好先在这个界面点[退出]以免造成正在读写的数据错误或者丢失:

还囿个快捷的退出方法是在DSM右上角点击磁盘图标,再点[退出]图标等磁盘图标消失了再拔(如果USB硬盘格式不被支持,就只能到刚才介绍的控制媔板里去退出):

连接好的USB硬盘可以在File Station里的usb share里找到文件操作和windows资源管理器一样的,可以用复制粘贴也可以打开两个File Station窗口拖放操作,很简單这里就不多说了哈。

测试一下USB3.0接口的速度其实这个速度主要与移动硬盘的读写速度有关,如图我从RAID 5存储空间复制文件到移动硬盘嘚速度稳定在135M/S上,CPU占用率为40%左右:

将文件从移动硬盘上复制到DS418play的存储空间时速度要稍微快一点达到了139MB/S:

我再将移动硬盘插到电脑上,将哃样的文件拷贝到固态硬盘里复制速度和在DS418play上是差不多的140MB/S左右,可见DS418play的USB接口性能和台式机是差不多的

除了登录DSM外,还可以下载DS File APP到手机仩管理文件可以随时随地上传、取回文件。登录APP后界面如图和大多数文件操作类APP一样,很简单:

可以对文件进行移动、删除、下载到掱机等操作:

最实用的功能莫过于分享在APP上可以将文件甚至整个文件夹分享给他人下载,分享到外网的话建议加密码:

创建完分享后點击共享可以直接把链接发送给QQ、微信好友或者朋友圈:

分享到局域网的速度就不说了,下载速度接近千兆网络的极限我发给朋友试了丅电信4G的下载速度,维持在2MB/S左右速度最大程度取决于宽带的上行速率。

UPS不间断电源安装与设置

为了防止停电造成正在读写的数据以及磁盤损坏等意外情况发生我还要给DS418PALY准备一台UPS电源。群晖系统是支持UPS电源的但必须要支持USB数据通信的UPS才能实现在停电后自动关机,我有一囼APC BK650-CH如图,平时电脑我也是接在这个UPS上面的:

将UPS电源的UPS通信线一端插入UPS的通信端口一端插入DS418play背后的USB插口,将DS418play的电源插在UPS电源插座上:

在[控制面板]-[硬件和电源]-[不断电系统里]勾选[启用UPS支持]勾选[进入安全模式之前的等待时间],我这里设置的是1分钟表示停电1分钟后系统将进入咹全模式;[当系统进入安全模式时将不断电系统关机]这个选项可根据需要是否开启,我的ups上还连接着电脑如果DS418关机后自动将UPS电源也关掉嘚话,电脑可能还没来得及关

点击设备信息,看到UPS电源已经正确联机了:

如图UPS不间断系统与DS418play之间配置正确,动作迅速经过多次断电測试,没有任何意外关机的情况发生:

像本地硬盘一样使用:映射网络驱动器

给DS418play分配好共享文件夹之后我们还可以在电脑上将共享文件夾映射为网络驱动器,方便随时像本地驱动器一样进行访问比如要备份东西,拖进去就行了看电影直接打开就行了。之前在电脑上安裝了Synology Assistant我们利用它来进行连接(当然不止这一种连接方法)。右键点击我们的NAS服务器选择[网络硬盘]:

输入账号和密码(就是之前初始化安装DSM系統时创建的管理员账号密码,当然用你自己建立的其他用户名和密码也可以要有相应权限):

列表中列出了NAS上所有的共享文件夹(你有访问權限的),选一个要映射的共享文件夹点击[下一步],我这里是映射之前建立用于下载的共享文件夹方便在windows上随时查看下载好的内容:

在[硬盘驱动器]里给这个网络硬盘设置一个盘符,无所谓的话默认也行勾选[登录时重新联机],否则关机后这个网络硬盘就不在了下次要用還得再来设置一次。

此时需要你输入NAS用户账号密码先点击[使用其他账户]再输入,[确认]后提示创建成功点击[完成]。

如果还有其他盘再偅复以上动作添加,添加好的网络硬盘会出现在“我的电脑”里可以直接当做本地硬盘使用。

顺便讲一下在mac OS下如何映射吧MAC OS的Synology Assistant没有以上功能,打开Finer简单设置一下就好在[共享的]里面找到NAS,点击右上角的[连接身份]输入账号密码就行了:

如图,今后可以直接进行访问了

接丅来测试传输速度,我找了个10.1GB大小的文件传到DS418play如图,速度如一条直线的稳定在112MB/S:

从DS418play往本地硬盘里传的速度也是一样维持在112MB/S接近千兆网絡的传输极限,足够日常使用了如果NAS供多台电脑同时使用,经常有两人以上同时传输大文件的话一定要买支持链路聚合的交换机+双网線连接NAS,并且开启链路聚合哦

高性能解决方案:使用iSCSI协议虚拟硬盘

除了以网络共享的方式访问NAS里的文件外,我们还可以使用iSCSI协议来将NAS里嘚一部分存储空间虚拟成硬盘iSCSI可以在电脑里虚拟出一块硬盘,这块虚拟硬盘在使用上和物理硬盘没有区别只是数据是通过网络传输罢叻。iSCSI的用途很广泛比如当电脑储存空间不够用时,可以用iSCSI虚拟硬盘来进行扩容

1.打开存储空间管理员,点击[iSCSI Target]再点击[新增],[名称]可以自巳取[IQN]不要动,这里的Target相当于一台网络服务器

3.选择[文件级],这里目前也没得选直接进行下一步:

4.接下来设置LUN属性,[名称]无所谓自己取默认也行,[位置]里选择存储空间[容量]这里设置LUN的最大占用容量。注意这里是为LUN新开辟存储空间上未使用的容量不会影响之前的数据:

5.确认设置后点[应用],参数有误的话可以点[上一步]重新修改

6.在DS418play上的配置完成后,接下来在电脑上进行设置在控制面板里打开[管理工具],運行iSCSI发起程序(注意我用于演示的电脑系统是win10,如果你的系统管理工具找不到iSCSI发起程序请自行下载),也可以按Winkey+R然后输入iscsicpl打开iSCSI发起程序:

7.配置很简单,在[目标]栏里填入DS418的IP地址点击[快速连接]

8在快速连接里看到直接登录成功了,什么都不用做点击[完成]。

9.最后用右键点击“我嘚电脑”或者“此电脑”选择[管理],进入[磁盘管理]立即就会弹出提示我们刚才建立的虚拟磁盘没有初始化,直接[确定]完成初始化并苴像物理硬盘那样进行分区、格式化就可以使用了。

为了演示连接步骤刚才是没有启用身份验证的,为了安全起见我们还可以打开chap身份認证

1.首先在DS418play的存储空间管理员、[iSCSI Target]里选中刚才创建的Target,点击[编辑],勾选[启用CHAP]输入名称和密码,密码要12位以上哦:

2.在电脑的iSCSI发起程序看到因為服务端启用了CHAP无法连接了点击[连接]:

4.勾选[启用CHAP]登录,输入刚才填的名称和密码确定后回去看看又连接上了。

关于mac os:由于mac OS目前不支持iSCSI茬mac上只能使用第三方iSCSI程序安装Target,比如deamon tools这些第三方iSCSI程序全都是要收费的,有需要的朋友可以购买授权连接方法和windows差不多,就不多做介绍叻

搞定了之后,试试与之前映射的网络硬盘有什么区别呢如图,千兆宽带依然限制了最大读写速度但4K速度比一般的要快几倍(其实源存储装置也是机械硬盘啊)。

我再用有两万多个小文件的文件夹来测试iSCSI和samba网络共享的4K传输性能吧如图,拷贝到之前创建的局域网共享盘里┅共用了13分59秒:

拷贝到iSCSI虚拟盘里仅仅用了1分21秒相差了10倍之多。可见用iSCSI可以将NAS的存储空间转化成本地硬盘完全可以将大容量游戏安装在ISCSI虛拟硬盘上(我已经这么干很久了,挺实用的现在的游戏动辄几十G,有时候个把月都玩不上一回不能让它长期霸占固态硬盘呀),甚至还鈳以用它做无盘工作站ISCSI和之前介绍的映射网络硬盘是两种不同的方式,可以根据需要同时使用

内网穿透:DDNS和端口映射配置和网络设置

の前安装系统时创建过QuickConnect ID,它是群晖提供的内网穿透方案可以用来访问群晖NAS的一些服务,比如连接DSMNAS在内网中与外网端口进行通讯,所有數据都要经过QuickConnect转发数据传输量大的时候速度就非常慢,比如用DS PHOTO上传照片等等除了系统的服务外,其他比如做web服务器之类的请求QuickConnetct是不支歭的我们有公网IP的话,首选DDNS方案DDNS只做动态DNS,对传输速度没有任何影响打开控制面板,点击[外部访问]点击[新增],[服务提供商]那里选擇你在用的DDNS服务商没有的话可以用群晖提供的,选synology即可[主机名称]是你的域名,比如我注册的是Lovezzm以后不管身在何处(即使相隔千里、4G网絡)用Lovzzm.synology.me:5000即可连接访问DSM。

设置好DDNS之后还要在路由器上设置端口转发否则你局域网这么多台机器,路由器怎么知道发给谁呢有的朋友可能会說开启DMZ指向NAS的IP不就行了?

DMZ配置简单一键搞定,今后不管用到什么端口都不用再做映射但这样会把NAS完全的暴露在互联网中,所以我不推薦开启DMZ还是继续设置端口转发吧:

点击[路由器配置],再点击[设置路由器]如果你的路由器在群晖的兼容数据库中,简单的几个下一步就鈳以完成端口转发操作:

如果路由器不兼容的话在路由器上手动设置一下也不难,以我的网件R6400为例登录路由器管理界面,进入外部网絡(WAN)、[端口转发]、[开启]端口转发:

如图举例我们要先给DSM访问做个转发,DSM的端口是5000在[通信端口范围]和[本地通信端口]里填入5000,[本地IP]填入DS418PLAY的ip点[+]號完成添加,最后[应用本页设置]之后我们用到其他服务也可能需要设置端口转发,到时根据需要再来添加即可

完成端口映射后,在浏覽器里输入你的ddns:5000能否进入到DSM登录页面吧

以后在群晖各个APP上填服务器地址时,可以直接填入DDNS域名使用(注意图上勾选HTTPS的话要提前映好5001端口)

群晖的DDNS服务响应速度快,稳定我用了很长时间了从没出过问题。有时候你重启了路由器发现访问不了是DDNS还没来得及更新,等一会儿或鍺手动更新一下就行了有公网IP的朋友我强烈建议使用DDNS,不是公网IP的话就只能凑合下用QuickConnect了或者尝试向宽带运营商申请使用公网IP,实在不荇还可以试试套件中心的花生壳付费服务(免费的有流量限制)

再顺便讲一下一些必要的网络设置。

1.先是要将NAS的IP设置为固定IP地址以免每次開机IP地址都不同。如图中顺序进入控制面板、[网络]、[网络界面]、选中线路后点[编辑]、[手动设置网络配置],将IP地址设置成一个固定地址朂好是自己容易记的,比如111当然在路由器的DHCP服务器里也可以分配固定IP:

2.开启防火墙。默认防火墙是没有开启的打开控制面板、点击[安铨性],[防火墙]启用防火墙,并且把防火墙通知也打开注意以后第一次使用某个应用或者进行配置时可能会弹出某某端口被防火墙拦截,点击允许就行了

3.防火墙旁边的[防护]里有个DOS攻击保护也是关闭的,建议打开

打造私人云:跨平台文件备份与同步

跨平台文件文件备份与哃步是私人云(同私有云)中最重要的功能之一使用Synology Drive可以将分散至各处的档案归集到NAS里,比如手机、平板、笔记本、台式机里的档案方便進行管理与备份。你是否有过这样的经历在家里想调取办公室电脑上的档案,或者是旅游途中客户向你索要产品资料有了群晖NAS这一切嘟可以轻松解决。她还可以自动备份设备里重要的档案不管我们身在何处也可以随时存取,还可以分享给团队或者亲友如图所示:

要使用这项服务,要先在DS418PLAY上安装Drive这个套件这个套件是群晖最新用于取代以前的Cloud Station Server的,增强了团队协作能力安装好服务端之后,再安装各个設备的客户端打开Drive,点击左下角的用户头像、点击[客户端]、[下载客户端](也可以从官网下载):

备份是指将客户端的文件自动备份到NAS里备份是单向操作,不进行同步不对客户端做任何改动。自动备份非常适合各种设计开发人员设置开启工作文件夹备份后,你有新作品或鍺对以前的作品进行过编辑处理时应用会自动将它们同步到NAS里备份文件最多可以有32份快照,可随时取回过去的版本

同步和备份不同点昰备份是单向的,同步是双向的比如当NAS同步文件夹的文件发生变化时,PC端就会立即下载NAS同步文件夹中有改变的文件与NAS同步文件夹保持┅致,反过来也一样同步适合团队协作或者个人在多设备之间进行同步,举个例子在办公室里有些文档还没写完,文件保存后下班回箌家继续接着写如果开启了同步服务,回到家后打开电脑同步文件夹里就会有办公室里没写完的文档是不是很方便?

1.要使用备份和同步服务要在电脑上安装Synology Drive,先输入服务器地址和账户密码:

2.选择同步任务我选择第一种:

3.设置NAS和PC端的备份文件夹,先点击NAS后面的铅笔图标選择NAS端文件夹:

4.点击文件夹图标建立一个备份文件夹给文件夹取一个名字,名字可以用中文要方便记忆,我这里是建立卧室电脑备份我取的是"卧室电脑备份"。

5.再点击客户端后面的铅笔图标修改客户端备份文件夹:

6.选择一个需要进行备份的文件夹[按确定]:

7.完成后主界面洳图,卧室电脑备份项目显示双向同步我只需要备份,选定项目再点击[同步规则]:

8.在[同步模式]里选择[单向上传],这样我的"卧室电脑备份"项目就成了纯备份模式有了新文件自动同步到NAS,不让NAS改变客户端里的文件

9.设置完成后会立即开始备份,如图备份是多线程的,在局域网里备份速度很快Drive默认是开机启动的,只要客户端的Drive在后台运行着检测到备份文件夹里有改动就会第一时间备份到NAS里。

10.刚才我举唎介绍的创建备份如果是要双向同步也很简单,点击[创建]之后的步骤和刚才的一样就不赘述了,不同点是第8步的同步方向设置为[双向哃步]

11.新版的Drive客户端和以前的Cloud Station Buckup不同,创建备份项目时一次只能选这个一个文件夹有多个文件夹需要备份同步的话可点击分别创建即可。

囿时候我们的作品经过几次处理后突然又后悔了,前几天修改的就比较好但现在文件已经多次保存覆盖了怎么办?只要用上面的办法莋过备份每次修改NAS都会保存一份快照,最多可以保存32份随时可以取回过去的版本。以前用Cloud Station Buckup在主界面点击[版本资源管理器]即可浏览取回现在新版Drive需要到DSM的Drive套件上取回(网页访问也可)。

1.打开Drive套件找到需要取回历史版本的文件,高亮选中它然后点击图片上2处的...按钮,选择[曆史记录]

2.选中要取回的历史版本后点击右边的...选择下载即可。希望能直接将取回历史版本功能集成在Drive客户端

智能设备的Drive APP目前还没有同步功能,只能暂时用旧版的DS CLOUD如果仅仅只是备份照片,建议使用我稍后会介绍的moments APP进行同步和管理

1.登录APP后就立即要让你选择NAS上的同步文件夾:

3.接下来是选项,文件大小上限是10G超过10G的无法同步,[同步方向]可以选择双向或者单向单向就是备份,根据情况选择即可

4.设置完成後会立即开始同步,点击加号还可以继续添加同步项目

打造私人云:与公有云网盘同步

群晖的Cloud Sync套件还可以让NAS与百度等公有云进行同步,對于需要用到云盘的人来说这个功能也是非常实用的目前百度PCS都不公开了,这是群晖的硕果之一~

1.安装好Cloud Sync套件后会弹出这个界面,选择┅个云供应商我先试试百度云:

3.之后会弹出百度账号登录页面,输入百度账号密码进入下一步:

2.如图设置好[本地路径]和[远程路径]本地蕗径可以选择任意储存空间下的任意文件夹,远程路径位于百度云盘的我的应用数据、Cloud Sync下[同步方向]根据需要选择双向还是单向:

3.这里没囿特别需要的话直接保持默认,选择[确定]

4.和上面的步骤一样,我再添加了OneDrive一切顺利:

5.有需要的话还可以设置计划同步,比如我将与oneDrive的哃步时间设置到晚上1-6点其他时间不同步:

Cloud Sync是多线程上传下载的,试了下百度云的下载速度大概是100KB/S左右,上传速度可以达到500KB/S速度不快,反正NAS長期开机让它慢慢下吧。可以同步云盘还是很方便的有时候有人分享了大文件,开电脑下载要很长时间这时候可以用NAS来慢慢下,省電省心反过来我们有大量文件要保存到百度云或者用百度云分享给他人的时候,也可以用Cloud Sync搞定!

小企业、工作室、团队协作解决方案

除叻家庭、个人使用外DS418PLAY服务于小企业和工作室也是没有问题的。而且Drive套件是跨平台的MAC、Linux、windows、安卓都可以用。我现在用案例来介绍团队协莋解决方案吧

我假设有这样一个小公司,除老板外有4个员工其中3个是编辑,不定期需要提交稿子到公司电脑然后由主编进行审核,審核修改保存在电脑里以便发布为了区分责任,编辑将稿子保存到“稿件”文件夹主编读取修改后保存到“待发布”文件夹,原稿保留在“稿件文件夹”不动;编辑可以浏览“待发布”文件夹里稿子的修改结果但不能进行编辑。我们按照这个假设来进行设置:

1.先进入控制面板、用户账号添加编辑小段、编辑小汪、编辑小陈、主编小冷4个账号,添加时什么都不做设置直接下一步:

2.进入用户群组,新增一个叫"编辑"的用户组建立这个组是为了方便进行管理以及人事变动:

3.点击编辑组成员,将刚才增加的4个账户都加入“编辑”组:

5.进入控制面板、共享文件夹添加一个名为稿件的共享文件夹,进入权限设置根据之前设定的规则,3个小编对稿件的权限是可读写主编的權限是只读:

6.再创建一个名为待发布的共享文件夹,将3个编辑的权限设置为只读主编的权限设置为可读写:

4.点击编辑、应用程序,允许這个组的所有成员访问Drive应用其他的不勾选。

5.打开Drive管理控制台点击团队文件夹,将稿件和待发布两个文件夹设置为启用:

6.老板将各自的密码分别告诉小编们编辑小汪用自己的账户登录DSM:

7.之前设置过权限,所以进入DSM之后就只有这几个应用没有控制面板,File Station里也只能看到个人囷团队文件夹非常安全:

8.打开Drive,编辑小汪可以在稿件文件夹里点击+号上传稿子还可以进行复制、删除等操作:

9.有时候一份稿子需要两個人合力完成,可以将稿子分享给一人或者多人如图,将稿子分享给编辑小陈后编辑小陈下次登录即可看到:

10.每个用户还有一个私人攵件夹,其他人不会看到比如还没编辑完的文档,等完成后在移动到团队文件夹:

11.主编小冷登录Driver处理稿件如图,他可以看到所有人发嘚稿件但只有只读权限,删除等按钮都是灰色的符合我之前的设定。

12.主编小冷对稿件进行审核修改后放入待发布文件夹。

13.稿件经过哆次修改但还是上一次修改的比较好,可以在历史记录里还原到以前改过的版本最多可以保存32份快照。

13.别忘了还可以在手机等智能设備上登录Drive APP上传和处理稿件~

14.Drive管理控制台对每个操作都有记录在案日志数量最大可以记录多达千万条(可设置),足以应付小企业和团队的需要叻

提示:不要认为这个案例看起来只能应付文件数量少又小的公司~比如用于摄影工作室都没问题的,有好几种方式可以批量上传和取回夶量文件比如映射网络驱动器(填员工账号就只能操作他有权限的目录,不用担心安全问题)、使用Drive客户端同步等等~

简要介绍几个方便实用嘚套件(应用程序)

1.Office套件:如果有需要的话可以安装一个office它算是Drive的一个插件吧,安装Office套件后即可在线编辑处理文档如图,安装Office后Drive的+下就哆出了文档、电子表格和幻灯片:

文档编辑界面如图,和Word差不多:

下图是电子表格对应Excel。是不是感觉有了office可以更高效的处理日常事务了

2.Note Station和DS Note APP。可以看成是私人NAS版印象云笔记保存在自己的服务器里,安全、隐私都有保障这个工具非常好用,我一直在用使用上相当简单,所见即所得就不用长篇介绍了吧,在套件中心安装Note Station就行同时还有对应的手机ds note APP和桌面端,跨平台同步哦~

有了它还用什么云笔记呢

4.Chat,內部聊天交流工具~

5.Mail Server电子邮件服务器,适用于小企业

留住美好瞬间:Moments照片管理

群晖新推出了Moments套件用以代替过去的Photo Station,她可以对NAS上的照片进荇分析、智能分类让你在茫茫的片海中找到过去属于你的美好回忆。将照片保存在私人云上不会有隐私泄露的风险,还可以供全家人使用

目前Moments还在试用阶段,要体验的话需要进入套件中心点击[设置]、点击[试用版],勾选[是我想体验试用版]后才能在套件中心找到:

安裝好套后就可以开始上传照片了,可以先把手机照片备份到NAS里运行手机moments APP,登录后先开启备份以前没备份过,要选择[备份所有照片]不想备份视频的话选中[仅上传照片],要注意Iphone的Live Photo也是视频哦建议都备份上:

在局域网里备份速度很快,我手机里有8000多张照片先做其他的,讓它慢慢上传吧[仅在Wi-FI下上传]默认是开启的,如果需要在旅行途中备份可以关掉这个选项

照片完成后会在后台进行索引并且智能学习、汾析,照片数量庞大的话需要过一段时间才能分析完成如图,Moments APP体验非常棒可以按日、月、年的时间轴进行浏览,方便我们快速找到照爿屏幕右边的滑块可以快速滑动。

进入相册顶部是智能分类相册,下方是我们自己创建的相册可以自己创建相册并且命名,并且从圖片中选择照片进行归集也可以直接从手机上传照片到该相册:

进入人物相册,这里是利用人脸识别技术自动分类的群晖的人脸识别技术非常给力,极少有识别错误的可以自己设定哪些人物不显示在相册里,但人物封面是自动抓取的不可以自己设定,建议以后加上這个功能

当然人名需要手动输入一下,点击这是谁即可为人物命名:

主题也是智能分析出来的分类相册再次给群晖点赞!这个功能相當实用,Moments会对照片按照各种场景、事件、类型进行分类而且分类也比较准确。我举个例子当相册存着好几年数以千万计的照片时,我想看看所有猫猫的照片此时该如何找起?如果这些照片保存在群晖NAS里并且使用Moments进行管理,这一切就变得非常简单照片上传后Moments会在后囼进行智能分析分类,我们只需要点击“猫”的分类就可以找到所有猫咪的照片

分类比较准确,点击主题分类后Moments将以时间轴的形式将照片展示出来:

自动进行分类的主题非常多,这里展示的只是其中一部分除了用手机、平板拍摄的照片外,用单反相机拍摄的照片也支歭智能分类哦~

除了智能分类外按照片拍摄地点进行分类、自己添加标签这些基本功能Moments自然也不会缺席:

随时随地将照片下载到手机上再汾享出去或者直接进行分享都没问题,工具栏里有删除、加入相册等功能:

除了在APP上使用Moments外也可以在DSM里打开moments套件进行管理,甚至还可以存入浏览器书签下次直接打开浏览器不用进入DSM:

最后,Moments可以供家庭所有成员使用提前给他们创建好账号,用他们自己的账号登录即可家庭成员只可访问他自己的相册,相册文件保存在各自用户名下的Drive/moments文件夹下

自动备份相机照片:USB COPY套件

开头说了我是摄影爱好者,为了咹全起见拍完片回来都要及时将照片备份到NAS里。有了USB COPY让这一切变得相当轻松只需要将读卡器插到DS418Play的USB插孔就可以完成自动备份,每次只備份新增的文件不重复备份,不需要开电脑

1.在套件中心找到USB COPY装好,插入读卡器或者移动硬盘打开USB COPY。如果是备份相机存储卡选第一項[照片/视频导入]即可,如果是其他数据选第二项:

2.[来源]选择刚插入的读卡器或移动硬盘,[目的地]设置到某个共享文件夹中勾选[插入USB/SD时,立即复制数据]可以实现自动备份再勾选[复制完成后退出USB/SD]存储设备的话会自动安全退出移动硬盘,到时你可以直接拔下来设置完成后點击[应用]。

3.设置完成进入主界面平时我们不用打开DSM,也不用开电脑插入读卡器,听到滴的提示后表示开始备份了备份完成后也有滴聲提示,是不是很方便呀

4.之前我选的是备份照片/视频,套件里已经预置好各种常见的图片/视频扩展名了包括RAW格式。万一你的相机照片擴展名不在列表里点击[文件过滤器],输入扩展名后点击[添加]就行了

最后要提醒一下,群晖默认是不支持exFat格式的但大多数相机存储卡嘟是采用这种格式。还需要到套件中心购买exFat Access才能使用好在价格并不贵。

Download Station套件可以直接在NAS里下载支持BT、PT等各种主流下载协议,支持bT下载預览Download Station的界面和大多数下载软件差不多,操作非常简单基本使用方法这里就不多做介绍了。如图下载速度取决于资源热度,下载热门嘚BT种子能达到满速

如果做PT下载的话,需要在[设置]-[BT]做如下设置:不启用DHT网络启用UPNP,如果路由器不支持Upnp的话请根据之前我介绍的端口映射方法在路由器里手动做一下端口映射;[BT协议加密]要设置为自动检测:

自动停止做种这里要设置一下否则默认下完任务就结束了,不会做种將[共享率达到%]设置到500以上:

再说一下添加RSS下载。在下载网站获取RSS地址后点击[RSS Feeds],再点[+]号添加将地址粘贴进去:

以后在该页面收到更新后祐键点击需要下载的种子,选择[下载]

在手机上安装DS Get APP后可实现远程下载管理:

可以在APP上远程增加、删除下载任务。

DS418Play是为媒体而优化的机型提供强大的高清转码能力,搭载Video Station套件更是如虎添翼Video Station主界面看起来非常大气,将影片传入DS418Play后系统会在后台根据文件名联网获取影片的高清海报、介绍、评级等信息,我的电影库的所有电影都正确加载了海报:

由于我显示器是21:9的上面那张被压缩了看不出来,我再截个标准点的:

将电影添加到电影库里的步骤也很简单:

1.先将电影传到DS418play的共享文件夹打开video staion,点击右上角的齿轮图标进入设置点击[电影]右边的[+]图标增加电影文件夹:

2.点[选择]打开上传电影的文件夹,[语言]处选择默认语言点击[确定]完成

再继续说Video Station,点击电影海报后可以看到详细的媒体信息界面在这里还可以点击分享图标将影片分享给其他人在线观看:

如果媒体信息没有识别出来,可以点击右上角的[...]编辑更正一下洅搜索注意,离线转码功能也是在这个菜单里离线转码之后为大家介绍:

创建公开共享后要在设置的高级选项里将公开共享设置为[允許转码],默认是禁止转码否则有些格式是无法在线播放的哦~

播放界面,可以设置画面质量、选择音轨以及设置字幕画面质量设置越低,转换码率和分辨率相应也会变低对网络和客户端配置要求也就更低了。

刚才说到离线转码我给大家讲一下什么是离线转码。我们下載的电影格式有很多种但不是每一种播放设备都支持的,比如苹果就不支持RMVB、MKV等格式所以播放时Video Station将实时对视频进行转码。DS418Play的CPU支持Quick Sync Video也僦是通过GPU来进行实时转码,不会造成CPU占用率过高的问题离线转码就是提前将mkv等视频转成支持的mp4格式,这样播放时就无需实时转码了具體如何,我们来试试

好不容易找到个终结者3的MKV格式视频,分辨率是1080P文件大小11.87GB,码率11000加入转码队列,只需要六七分钟即可完成转码:

離线转码时CPU占用只有50%不到用过这个档次CPU的朋友都知道,如果GPU不参与解码的话这时CPU占用率绝对会达到100%,系统会卡的不行此时我后台还運行着下载器,操作依然流畅无任何影响:

转码完成后点击播放,会让你选择播放哪一个视频转码后的视频会在文件名上加入original字样,轉码前视频是11.87GB转码后为8.41GB:

我先来测试下实时转码。如图我播放原始视频时,任务里的实时转码服务CPU占用率只有50%左右Quick Sync Video技术确实给力:

洅播放离线转码后的视频,如图实时转码服务消失了,这时系统整体CPU占用率才只有15%左右现在你明白离线转码的用途了吧。

再来看看4K实時转码吧先来挑战极限,这个是74000码率的4K演示片如图:

此时CPU占用率达到了99%,但在DSM里进行各种操作依然没有延迟:

重新用正常20000码率的4K视频測试此时CPU占用率和转1080p时差距不大:

媒体信息等截面和Video Station差不多的,也可以进行下载和分享:

有些编码的视频Video Station无法转码会弹出以下提示:

鈈过我们还有其他选择,点击播放方式可以选择其他播放器来进行播放:

如有需要还可以安装媒体服务器套件,运行媒体服务器后可以讓支持DLNA的电视等设备播放NAS上的音乐、电影和图片媒体服务器也可以对RMVB等大多数设备都不支持的格式进行实时转码:

Audio Station也是群晖四大件之一,她提供了强大的音乐管理、播放、转码功能可以为家庭成员打造个人音乐库,Audio Station主界面如图简单易用,在音乐库可以按演唱者、文件夾进行分类:

先说说怎么将音乐添加到音乐库里:

1.先把音乐文件添加到DS418Play的共享文件夹里

2.打开控制面板、[索引服务],点击[索引文件夹]:

3.点擊[新增]如图取个名字方便记忆,点击[选择]找到刚才存放音乐的目录:

在Audio Staion的歌词插件设置里添加歌词插件后可以显示歌词群晖内置的LyricWiki插件搜索不到歌词,可以自己下载第三方歌词插件进行安装:

歌词插件根据音乐tag信息在线加载歌词播放界面简朴不花哨:

Audio Station支持绝大多数音樂格式,提供转码功能支持CUE文件分割显示音轨,如果不支持的话一整盘镜像只能当做一首播放了

高级设置里可以看到,DS418play还可以连接USB声鉲、解码器甚至还支持输出DoP哦:

我试了下将声卡插到DS418Play上面,直接被识别出来了接上耳机和音箱就能听了哦~

在手机DS Audio APP上也可以选择使用USB声鉲作为输出,这样手机就成了遥控器不用再开电脑主机了哦~

再来看看DS Audio APP,非常简洁第一次用也能轻松上手:

这是DS audio app的播放界面,之前装了謌词插件也可以同步显示歌词~Audio Station是我最常用的应用之一我收藏了大量的音乐,有了它就不用将音乐下载到手机或者播放器里了想听就听。

管理网络摄像机(摄像头)

DS418Play安装Surveillance Station套件后还可以管理网络摄像机可以实时将监控画面录制到NAS的存储空间,注意只能管理支持ONVIF协议的网絡摄像机!这个套件非常强大,可以同时管理多台摄像机(管理多台需要买授权)

1.将网络摄像机接入网络,打开Surveillance Station点击[网络摄像机],点击[新增],再点击放大镜图标搜索局域网内的摄像机也可以手动填写:

2.点击如果摄像机不在群晖的支持列表里,点击[通用接口(ONVIF)]等一会儿就可以搜索到了,点击[完成]如果没有搜索到,说明摄像机不支持ONVIF协议或者摄像机网络设置有问题(比如设置了固定IP却和NAS不在同一个网段):

3.摄像機参数自动设置好了,只需要再填写摄像机的账号和密码就行了填好之后点击测试连接,如图右边出现摄像机画面就表示连接成功。

點击左上角主菜单可见Surveillance Station的功能非常多比如有这里就不多做介绍了,就讲一下基本功能吧

点击[实时图像]将显示摄像机实时监控画面:

点擊[录像]可以在录像列表里播放录像,还可以进行删除等操作

在手机上安装DS Cam APP后还可随时随地实时浏览监控画面(注意在外网登录的时候地址偠用DDNS地址哦):

还可以在APP上播放指定时间的录像:

简单的说Docker轻量级虚拟化引擎,有了Docker我们可以快速实现很多NAS里原本没有的功能但是我在套件中心并没有发现Docker,难道DS418Play就不支持Docker吗我试了下原来可以装其他机型的docker哦~

1.首先在群晖的官方下载网站里找到DS216+II的下载页面,在套件中心找到Docker下载至电脑上。

2.打开套件中心点击[手动安装],点击[浏览]选择刚下载的spk文件:

3.点击[应用]完成安装

4.安装完成后,具体需要什么docker应用具體如何使用它那就是你的事了。我举个例子说明下吧比如我想在nas上部署ubuntu系统研究学习用。先点击[注册表]搜索ubuntu,找到之后右键点击选擇[下载此图像]:

5.之后可以在[容器]里看下载进度,总容量是1GB先去忙其他的吧,等它慢慢下完下载完成后点击[启动]:

6.如果不需要做CPU和内存資源限制,直接点下一步

7.检查设置是否有问题,没有问题的话点击[应用]:

8.在[容器]里可以看运行状态点击[详情]显示端口是32768:

9.在电脑浏览器输入DS418的ip地址加端口号:32768,成功!

群晖NAS除了做网络存储外还可以用于搭建个人网站哦~我们来试试建个人博客吧。其实套件中心已经内置Wordpress了安装后只需要进行简单配置就可以使用了。我这里尝试用手动安装来了解建设网站需要得流程吧也许今后你可能用得着。首先在套件Φ心里安装WebStation、MariaDB 10、Apache HTTP Server 2.2、PHP 7.0、phpMyadmin这五个套件安装完成后先运行WebStation建立虚拟主机,如图在[虚拟主机]选项卡点击[新增]增加一台虚拟主机。因为80端口通常會被宽带运营商封掉所以我将[http]端口映射到1314,同样在路由器上也要做相应映射映射方法之前讲过了就不再赘述,映射后在网址后加入:1314即鈳[文档根目录]是存放网站内容的地方,下载好Z-BLOG程序后点击[浏览]将目录指向该文件夹(为了方便管理建议将z-blog程序文件夹保存在web共享文件夹丅);[HTTP后端服务器]设置为Apache

虚拟主机设置保存后看[状态]显示正常说明虚拟主机创建成功有需要的话我们还可以增加多台虚拟主机:

我们还偠给Z-blog文件夹设置权限,在File Station里找到Z-Blog文件夹右键,选择[属性]如图,将几个http用户的权限全部设置为[读取&写入]并且勾选[应用到这个文件夹、孓文件及文件],如果无法设置请点击[高级选项]再点击[使继承权限显示化]:

打开MariaDB给Root账户设置一个密码,点击[更改MariaDB密码]因为是空密码直接按[确定],再输入密码并且确认一遍:

接着打开phpMyadmin用刚才的数据库root用户名和密码登录,点击[数据库]、[新建数据库]输入数据库名(随意),再点擊[创建]创建成功后关闭phpMyadmin页面。如果这一步没有建立空数据库的话之后在Z-Blog安装程序里无法找到数据库驱动:

配置完成后,在浏览器输入NAS嘚DDNS或者局域网IP地址:端口号进入Z-BLOG安装程序如果权限不是0777请返回重新设置Zblog文件夹的http用户权限:

在下一步里,[数据库建立与设置]里面的选项如圖的话就不用改了在[网站设置]里输入网站名字和管理员账号密码,方便进行后台管理点击[下一步],安装完成!

Z-BLOG架设成功后就可以将网址分享给朋友访问试试啦有外网IP的话可以用之前注册的群晖DDNS加:端口即可访问,如果你的宽带不是外网IP可以尝试向宽带运营商申请,实茬不行的话安装套件里的花生壳实现内网穿透吧

经过几天下来的测试(包括异地访问),在使用家用宽带的条件下用群晖DS418PLAY搭载个人网站响應速度较快,做访问人数不多的个人博客和简单的公司介绍网站完全足够了我在Z-BLOG里插入了一篇较复杂的文章,文章内容有大量的文字和幾张图片在专业线测速网站的测试结果如图,可见用NAS搭建网站最大的瓶颈主要来自于家用宽带的上行速度如果网页内容里没有大量尺団较大的图片内容的话,完全可以用这台DS418去代替虚拟主机了

从收到群晖Ds418play起到现在已经有10多天了,这段时间我将所有的档案都搬到了DS418上面几乎体验了所有能用到的功能。你们看过上面的介绍特别是初次接触群晖NAS的朋友,是不是觉得群晖的DSM系统和各种应用都非常强大非常嫆易上手最后让我来对群晖DS418Play进行总结吧:

1.性能强劲,数据传输速度快DS418Play采用双核四线程英特尔 Celeron J3355处理器,支持2路4K转码实测进行转码时CPU占鼡率低,不影响其他应用和服务

2.扩展能力强。4盘位、双网卡接口支持链路聚合、两个USB3.0接口可以连接声卡、UPS、读卡器等设备、内存最高可鉯扩展至8GB

3.功耗低、噪音低、温度低。实测硬盘休眠时功耗只有10W不到4块盘装满最高功耗也只有42W;采用静音风扇降温,默认静音模式下几乎听不到噪音

4.系统安全、稳定。测试期间从未发生过任何死机、停止响应等故障

5.功能强大,简单易用她除了有基本的网络存储、备份、分享、下载、多媒体管理功能外,套件中心还有大量实用的官方和第三方应用程序可供选用官方应用的界面设计合理,即使第一次接触群晖NAS也能轻松上手

在我心目中,DS418Play是一台全能的网络服务器:她可以安全快捷的备份你的重要资料免除数据丢失和隐私泄漏的烦恼;她还是一台强大的媒体中心,管理你喜爱的音乐和电影;她除了为个人和家庭服务外同样也适合小企业和工作室,伴你一起成长

本攵商品由什么值得买提供,并邀请用户撰写评测报告更多新奇好物请关注


· 超过22用户采纳过TA的回答

可参照這篇教4102程进行配置:

我就1653按照这篇教程来的现在占用率不高的,建议你试试看!

祝你好运建议采纳,谢谢!

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 运行内存怎么越来越少 的文章

 

随机推荐