NFS介绍
NFS 是 Network FileSystem 的缩写,顾名思义就是网络文件存储系统,它最早是由 Sun 公司发展出来的,也是 FreeBSD 支持的文件系统中的一个,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。通过 NFS,我们本地 NFS 的客户端应用可以透明地读写位于服务端 NFS 服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS 就是可以透过网络,让不同的主机、不同的操作系统可以共享存储的服务。
主要是针对近期的视频文件上传提供服务。
最近项目组有针对视频剪辑的功能需求,主要是通过后台上传的视频文件之后,然后需要根据时间剪辑对应的片段用于在相应的页面显示,之前一直没有针对视频文件处理相应的经验,印象中这个视频处理应该是在客户端进行处理的,类似现在很火的抖音、快手等增加各种剪辑、合并等。在网上一看发现服务端也有对应的解决方案。
类似阿里云的视频剪辑: https://helpcdn.aliyun.com/document_detail/101562.html
七牛: https://developer.qiniu.com/dora/api/1246/audio-and-video-stitching-avconcat
以上这些是需要收费的;后来发现ffmpeg这个剪辑工具也能满足相应的需求;
即在服务器上按照ffmpeg这个功能键,然后通过Java代码去执行相应的命令,检测是否剪辑完即可;
此文章系列主要用于记录平常工作中遇到的一些疑难问题以及相关的定位思路方法
此篇主要记录平常工作中遇到的一些疑难问题
最近一台机器部署了3个SpringBoot应用之后,发现当中有应用会莫名其妙的被kill,而且没有任何日志JVM错误;本以为是内存溢出导致系统挂了,但是一直没有找到任何相关可用日志;
最后通过以下命令查看了系统日志,发现是由于被系统Kill的,由于在申请内存的时候系统以及无法满足了,导致被kill; 阿里云的服务器,默认swap分区大小是0,然后应用在申请系统内存时,如果内存不足就会被系统直接kill 三种解决方案:
1 | cat /var/log/messages |
1 | Nov 7 14:53:03 AliYunOS kernel: Killed process 11340, UID 0, (java) total-vm:5778380kB, anon-rss:1026616kB, file-rss:132kB |
此篇主要记录平常工作中遇到的一些疑难问题
最近一台机器部署了3个SpringBoot应用之后,发现当中有应用会莫名其妙的被kill,而且没有任何日志JVM错误;本以为是内存溢出导致系统挂了,但是一直没有找到任何相关可用日志;
最后通过以下命令查看了系统日志,发现是由于被系统Kill的,由于在申请内存的时候系统以及无法满足了,导致被kill; 阿里云的服务器,默认swap分区大小是0,然后应用在申请系统内存时,如果内存不足就会被系统直接kill 三种解决方案:
1 | cat /var/log/messages |
1 | Nov 7 14:53:03 AliYunOS kernel: Killed process 11340, UID 0, (java) total-vm:5778380kB, anon-rss:1026616kB, file-rss:132kB |
1 | package=com.suixing.subway |
1
-XX:NewSize=5242880 -XX:MaxNewSize=5242880 -XX:InitialHeapSize=10485760 -XX:MaxHeapSize=10485760 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gc.log
上面”-XX:InitialHeapSize” 和 “-XX:MaxHeapSize”就是初始堆大小和最大堆大小,”-XX:NewSize”和”-XX:MaxNewSize”是初始新生代大小和最大新生代大小,”-XX:PretenureSizeThreshold=10485760”指定了大对象阈值是10MB。
相当于给堆内存分配10MB内存空间,其中新生代5MB内存空间,其中Eden区占4MB,每个Survivor区占0.5MB(8:1:1默认),大对象必须超过10MB才会直接进入老年代,年轻代使用ParNew垃圾回收器,老年代使用CMS垃圾回收器。
-XX:+PrintGCDetail:打印详细的gc日志
-XX:+PrintGCTimeStamps:这个参数设置可以打印出来每次GC发生时间
-Xloggc:gc.log:这个参数可以设置将gc日志写入一个磁盘文件