i8253 count too high! resetting..怎么解决?

 

烦死了,不定时的出现。严重影响使用。
系统redhat9.0。
哪位大大帮忙解决下。
 

 
  优快云的一个BLOG里有提到和PCMCIA驱动有关,8253芯片是时钟计数器,估计是linux查询时钟计数器的间隔太久引起的。

那个BLOG里提到的解决办法是chkconfig   --del   pcmcia并service   pcmcia   stop。   

### 文件上传过程中遇到 `Resetting to invalid mark` 错误的原因分析 当处理文件上传时,如果使用 Apache Commons FileUpload 库中的 `FileItem` 类来解析请求并保存文件,在某些情况下可能会抛出 `IOException: Resetting to invalid mark` 的异常。这通常发生在尝试重置输入流到之前标记的位置失败的情况下。 #### 原因一:InputStream 已经被读取过 一旦 InputStream 被完全消费或者部分消费之后再试图通过 reset 方法回到之前的标记位置,则会触发该错误。因为默认情况下,Servlet 容器(如 Tomcat)只允许一次性的读取 HttpServletRequest 中的内容[^2]。 ```java // 不推荐的做法 - 可能导致reset问题 request.getInputStream().read(); ... fileItem.write(file); // 这里可能报错 ``` #### 建议解决方案: ##### 方案A:确保 InputStream 单次读取 避免多次读取同一个 InputStream 实例的数据。对于多部分表单数据 (multipart/form-data),应该让 FileUpload 组件负责整个解析过程而不是手动干预。 ##### 方案B:调整 Servlet 设置 在 web.xml 或者应用服务器配置中设置 multipart-config 参数,指定临时存储路径以及最大文件大小等参数,从而使得容器能够更好地管理大文件上传场景下的资源分配。 ```xml <servlet> <servlet-name>your-servlet</servlet-name> <servlet-class>...</servlet-class> <multipart-config> <!-- 配置项 --> </multipart-config> </servlet> ``` ##### 方案C:自定义缓冲策略 可以通过扩展 `DiskFileItemFactory` 来定制化缓存机制,比如增加内存阈值或将所有内容直接写入磁盘而非先加载至内存后再转储给目标文件。 ```java DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); factory.setRepository(new java.io.File("/path/to/temp/dir")); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // 判断是否为普通文本域还是文件域 String fieldName = item.getFieldName(); String contentType = item.getContentType()[^3]; ... item.write(targetFile); } } ``` 上述代码展示了如何创建一个带有适当配置的 `DiskFileItemFactory` 对象,并将其应用于 `ServletFileUpload` 实例以更稳健的方式处理文件上传操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值