Linux环境图片验证码不显示?

现象:用户注册功能,需要输入验证码,故实现了一个图片验证码的功能,在windows环境测试一切良好,但部署到Linux环境后,**_刚开始几天也是没有问题的,可以正确显示,但用不了几天图片就显示不出来了_**,
图片说明
直接在浏览器请求图片验证码报500错,系统后台日志没有任何出错信息,只要重启一下服务就能恢复正常,不知道有没有人遇到过这样的问题,迫切希望各位大神指点!

是不是你的浏览器阻止了内容;或者你的代码有点小问题需要修改;还有一个路径的问题可能两个环境路径不同;还有一个也就是你得等待一会,我在弄验证码时有时候浏览网页验证码也不出来等一会就好了;

谢谢楼上的回答,但你没有明白我的意思,图片验证码开始几天是可以显示的,但过几天就不行了。这时只要重启机器就能恢复正常了。

你重启能正常说明很可能是资源耗尽了。严重怀疑你在输出图片时的相关流有没有关闭?

相关代码如下:
ServletOutputStream out = null;
try {
HttpServletResponse response = DataContext.getResponse();
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","No-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/png");

        System.setProperty("java.awt.headless", "true");

        IdentifyCodeUtil idCode = new IdentifyCodeUtil();
        BufferedImage image =new BufferedImage(idCode.getWidth() , idCode.getHeight() , BufferedImage.TYPE_INT_BGR) ;
        Graphics2D g = image.createGraphics() ;
        //定义字体样式
        Font myFont = new Font("黑体" , Font.BOLD , 24) ;
        //设置字体
        g.setFont(myFont) ;

        g.setColor(idCode.getRandomColor(200 , 250)) ;
        g.fillRect(0, 0, idCode.getWidth() , idCode.getHeight());
        g.setColor(idCode.getRandomColor(180, 200)) ;
        idCode.randomLine(g,160);
        String checkCode = idCode.drawRandomString(4, g) ;
        DataContext.getSession().setAttribute("imgCode",checkCode);
        out = response.getOutputStream();
        ImageIO.write(image,"PNG",out);
    }catch (Exception e){
        LogUtil.err("生成验证码错误:",e);
    }finally 

{
if(out != null){
try {
out.close();
} catch (IOException e) {
LogUtil.err("验证码输出流关闭失败:",e);
}
}
}

如果是刚启动时可以,几天后不行,而且浏览器请求图片验证码都是500错的话,可能是缓存的问题,你清空一下试试看