windows10内存升高,可能与JAVA项目有关

系统window10教育版,8g内存客户的机子,部署了个JAVA项目,那个项目会不断读取GPS位置信息,然后进行位置判断,最后播报预警,集成了海康sdk播放视频。大概用二十多个小时系统内存就到了90%以上,但是看资源管理器也没看到高内存程序,JAVA占用始终在300M左右。电脑上还安装着MySQL,除此之外没有别的什么软件了。现在不清楚到底是不是JAVA程序引起的。如果不开JAVA程序什么都不运行内存不增长。无从下手,不知道有没有人遇到过。
在内存升高后,把JAVA程序关闭,内存只释放了JAVA程序占用的那部分,内存仍然在80%多,除非重启

调用海康sdk播放视频的过程,注意及时释放缓存和资源,这个比较吃资源。

GPS与海康视频资源,这个比较吃内存的,还有,可以通过内存排查工具,arthas 阿里出品的,很好用,可以查一下到底那个位置出现了问题,也可以进行一下代码review,也许是代码的问题

Windows本来也比较吃内存,8G内存可能低了一点。可以加一根内存条,达到16G内存

其实视频监控非常吃内存的。估计和海康视频监控有关。建议使用Process Explorer 这个软件监控进程占用,可以查看非常详细的内存占用情况

可以通过开始菜单,windows管理工具,里面的windows内存诊断来针对性找到占用内存所在问题并解决。

用WIN10自带的任务管理器,看看程序进程中得内存占用情况:

img

img

这感觉是项目里面有资源没有及时释放,然后一直积压 , 但是居然没有报内存泄漏的错误,有点迷。
对了,你看下是不是有多线程定时任务?一个任务没有跑完,然后就执行下一个任务了?

您好!考虑一下是你项目中建设的软件没有回收机制,windows中任务管理器观察一下详细信息面板,你项目建设的软件的内存占用活动数是否一直增长,软件本身对于程序调用以及数据存放都应该有响应的阈值限制才科学,不然用着用着,系统必然会挂。

window10内存使用率过高大多是因为存在后台程序在自主运转,可以将其关闭。
方法一:

1、按Win按钮加R,输入regedit回车打开注册表编辑器,展开以下位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBroker

2、在右侧找到start,将其值从3改为4。

方法二:

1、导致CPU占用的另一个原因可能是后台用于更新的P2P分享服务,可以选择关闭P2P分享。方法:打开系统设置—更新和安全—Windows更新—高级选项—选择如何提供更新,将“更新来自多个位置”关闭即可。

在Windows10系统下,搭建Java的运行开发环境
下载Windows10适用的JDK软件包
目前主流的稳定版本的JDK有jdk8和jdk11

选择哪个版本,请自行选择

这里将以jdk8为例,演示下载安装的步骤:

下载地址

如图:找到jdk8的下载地址,64位的系统,选择x64版本(32位的系统,选择x86版本)。

安装Windows10适用的JDK软件包
找到下载好的安装包如图:

双击开始安装:

一定要记清楚jdk8安装的目录(建议在除C盘以外的盘符,新建一个全英文目录,如:D:\Java\JDK8)。

选择好安装目录之后,点击下一步,傻瓜式安装。

安装好之后的目录结构

此时,我们可以在D:\Java\JDK8\bin目录下使用cmd的Dos命令,查看JDK的安装情况:

需要用的三个命令:

java
1

javac
1

java -version
1

如果安装完成并在Dos下输入上面三条命令之后,出现的情况与图片相似,表示您已经正确地安装好了JDK8,接下来就要配置环境变量了。

(如果不配置环境变量的话,上面的三条命令只能在D:\Java\JDK8\bin,这一个目录下使用,所以配置环境变量非常重要!)

配置Java的环境变量
第一步,配置JAVA_HOME
首先找到我的电脑,右键点击属性,然后找到高级系统设置,点击环境变量,在系统变量中新建,

变量名,填写:JAVA_HOME

变量值,填写:D:\Java\JDK8

(所填写的内容即为自己电脑的JDK8的安装路径,安装路径不同,此处所填写的内容也不同,上面所说记得安装路径的重要性!)

填写完成之后,点击确定(不点确定,电脑环境变量将不做任何修改,必须要点击确定,才会对电脑环境变量进行修改)

第二步,配置Path
接上述操作,接下来找到Path,点击编辑,再点击新建

输入:%JAVA_HOME%\bin

【等价于D:\Java\JDK8(这部分是电脑JDK8的安装路径)\bin】

第三步,检查环境变量的配置情况
上述操作完成之后,在任意目录打开cmd命令提示符

可以使用Win+R键,输入cmd,确定

然后同上,分别输入:

java
javac
java -version
1
2
3
如果输入后回车,显示的结果与上面的情况一致,那么恭喜您,您的电脑Java的运行开发环境以及环境变量配置成功,可以复制以下代码进行测试:

public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
1
2
3
4
5
将代码复制到一个文件名和后缀名为Hello.java的文本文件中,并保存。然后分别在cmd命令提示符下输入并回车

javac Hello.java
java Hello
1
2
效果如图:

此时,一个深受程序员们喜爱的“Hello World!”将出现在您的电脑屏幕,赶快动手尝试一下吧!!!
————————————————
写了一个程序,在eclipse下运行速度挺快的,但是内存消耗太多了,就eclipse这个进程就消耗了200M的内存,再加上java程序的内存消耗,感觉2G的内存有点吃不消!

所以,要减少eclipse的内存支出,把java项目直接通过命令行运行!

下面开始打包做好的项目:

第一步:

在MyEclipse中选中Java项目,鼠标右键单击选中导出,再选择Java下面的 Java Runnable Jar file

如图:附件中

第二步:

选中项目的启动类,选中保存的路径,取好文件名

选中把相关联的jar导进jar 文件中,点击完成,就把所有引用的jar文件包括自己的项目中的java类都打成一个jar包了,太神奇了。

第三步:

运行 比如:我打完包后为 run.jar 然后 dos命令:

java -cp run.jar Run

就可以了,Run是你要启动的类,如果你项目的启动类是Start.java,那么启动命令就是

java -cp run.jar Start

比如说,你打包的run.jar放在D盘的test目录,那么你进到该目录下,运行java -cp run.jar Run即可

为了更方便程序运行,可以写一个脚本run.bat,内容如下:

脚本意思:先进到D盘的test目录,然后启动

@echo off

d:

cd test

echo 启动项目

java -cp run.jar Run

如果你觉得运行内存等需要设置一下的话,那么你可以这样写脚本:

@echo off

d:

cd test

echo 启动项目

java -jar -Xms128m -Xmx1024m run.jar Run

其中 -Xms表示最小运行内存,-Xmx表示最大运行内存

以上为本人小结,只供参考,有什么错漏请指正!

具体脚本的语法大家可以到网上查查!
—————————————