有一种情况,我们有一个应用程序日志坐在AIX服务器上。 日志不断从应用程序写入,我们有Windows用户谁想要查看该文件。 他们一直在使用WinSCP将文件传输到桌面,并使用文本编辑器打开它。
我认为可能发生的事情是scp在传输期间locking文件,应用程序不能写入文件。 我相信这是日志文件将在白天随机点停止增长的原因。
那可能是怎么回事?
你为什么不试试这个。 开始扫描一个大文件,然后在AIX服务器上运行lsof /path/to/file并查看FD列的内容。
从lsof手册页:
FD is the File Descriptor number of the file or: cwd current working directory; Lnn library references (AIX); err FD information error (see NAME column); jld jail directory (FreeBSD); ltx shared library text (code and data); Mxx hex memory-mapped type number xx. m86 DOS Merge mapped file; mem memory-mapped file; mmap memory-mapped device; pd parent directory; rtd root directory; tr kernel trace file (OpenBSD); txt program text (code and data); v86 VP/ix mapped file; FD is followed by one of these characters, describing the mode under which the file is open: r for read access; w for write access; u for read and write access; space if mode unknown and no lock character follows; `-' if mode unknown and lock character follows. The mode character is followed by one of these lock characters, describing the type of lock applied to the file: N for a Solaris NFS lock of unknown type; r for read lock on part of the file; R for a read lock on the entire file; w for a write lock on part of the file; W for a write lock on the entire file; u for a read and write lock of any length; U for a lock of unknown type; x for an SCO OpenServer Xenix lock on part of the file; X for an SCO OpenServer Xenix lock on the entire file; space if there is no lock. See the LOCKS section for more information on the lock information character. The FD column contents constitutes a single field for parsing in post-processing scripts.
如果你这样做,至less在Linux上,你会看到FD列是“3r”,这意味着它有某种读locking,但是我不确定前面的3是什么意思。
大多数Unix程序不使用locking或当他们使用它,这不是强制性的,所以我怀疑locking是阻止你的日志增长。 SCP转移更可能会减慢日志写入速度。