问题描述
最近在写个程序需往同时往几万的文件中写数据,测试时发现写20000左右的时候问题不大,速度也很快,大概20s左右就能完成,但是如果写10万个文件时,电脑内存会不断增加,写入速度也越来越慢,具体是什么原因呢?因为考虑到可能同时打开文件数量过多的问题,只是用6个线程来操作写入操作。增加的内测在任务管理器中也没发现突然增加的什么进程,而且看各进程的详细信息很明显的总量大小没有达到实际显示的内存使用率啊!
解决方案
解决方案二:
Linux系统吗?linux系统有个最大打开文件数,不知道有没有影响。jdk的bin目录下有个jvisualvm.exe,可以通过它来看看堆内存、CPU、线程等的使用情况也可以在变慢的时候做个线程快照分析下各个线程在某一刻的状态
解决方案三:
引用1楼w405112941的回复:
Linux系统吗?linux系统有个最大打开文件数,不知道有没有影响。jdk的bin目录下有个jvisualvm.exe,可以通过它来看看堆内存、CPU、线程等的使用情况也可以在变慢的时候做个线程快照分析下各个线程在某一刻的状态
引用1楼w405112941的回复:
Linux系统吗?linux系统有个最大打开文件数,不知道有没有影响。jdk的bin目录下有个jvisualvm.exe,可以通过它来看看堆内存、CPU、线程等的使用情况也可以在变慢的时候做个线程快照分析下各个线程在某一刻的状态
在windows下测试的,因为只开了6个线程读写文件,应该不是打开文件数的问题吧,我先试试看你给的方法,谢谢
时间: 2024-08-03 08:59:58