在Unix上使用log4j,Appender会最好地编写1000Meg:
1)使用RollingFileAppender编写10个100 Meg的文件
或
2)使用FileAppender并编写单个1000Meg文件
换句话说,在unix上使用java,大小是否重要?
谢谢
答案 0 :(得分:2)
写入小文件或写入大文件之间没有Java端性能差异。当文件变得足够大以至于需要额外级别的索引块(FS依赖)时,可能在操作系统级别是小差异,但它可能不值得担心。
实施文件滚动行为会产生性能成本。 appender必须:
我的直觉是,这不太可能是重要的。 (但是,值得衡量以确定性能影响是否应该成为一个问题。此外,您应该问问自己是否没有过多的日志记录。)
您必须将以上所有内容与文件滚动的优势进行比较:
less
可能很痛苦......)答案 1 :(得分:0)
他们都可以轻松编写1000MB文件。我不明白为什么他们应该表现不同。
您确实需要RollingFileAppender
才能设置日志文件可以达到的总最大大小。否则,您可能会耗尽硬盘空间,假设您的应用程序已获得流量。
答案 2 :(得分:-1)
我认为使用小文件比使用大文件更好,因为它们更易于管理。另外,考虑到对于大文件,在文件系统已满的情况下可能会出现问题,因为在进程启动并运行时必须删除日志文件以释放磁盘空间。