檢查存儲使用情況問題我發現nagios會生成大量的文件寫入。下面的問題我做了一個關於系統檢查由strace的mmap可以在nagios rrd文件上生成大量文字嗎?
#strace -f -p $nagiosServicePID
[pid 32544] open("/opt/nagios/pnp/var/perfdata/sw-int02/If_GigabitEthernet1_0_29.rrd", O_RDWR) = 5
[pid 32544] fstat(5, {st_mode=S_IFREG|0644, st_size=4217672, ...}) = 0
[pid 32544] fadvise64(5, 0, 0, POSIX_FADV_RANDOM) = 0
[pid 32544] mmap(NULL, 4217672, PROT_READ|PROT_WRITE, MAP_SHARED, 5, 0) = 0x7f252fc3c000
[pid 32544] madvise(0x7f252fc3c000, 4217672, MADV_RANDOM) = 0
[pid 32544] madvise(0x7f252fc3c000, 128, MADV_WILLNEED) = 0
[pid 32544] madvise(0x7f252fc3c000, 1320, MADV_WILLNEED) = 0
[pid 32544] madvise(0x7f252fc3c000, 1440, MADV_WILLNEED) = 0
[pid 32544] madvise(0x7f252fc3c000, 16, MADV_WILLNEED) = 0
[pid 32544] fcntl(5, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
[pid 32544] msync(0x7f252fc3c000, 4217672, MS_ASYNC) = 0
[pid 32544] munmap(0x7f252fc3c000, 4217672) = 0
[pid 32544] close(5) = 0
在CentOS 6.8調用它表明我的Nagios打開RRD文件,寫入到存儲器映射和同步回內存映射到磁盤。 我擔心即使rrd文件被修改爲4個字節,完整的rrd文件也會被重寫到磁盤。它簡單地殺死昂貴的SSD。
難道這是這個巨大的磁盤寫作的原因?
是否可以用nagios減少寫入磁盤的方式?
感謝您的解釋。正如我所看到的,可以使用mmap或舊的fseek方法編譯rrdtool。我也可以自己測試它,或者更具體地在mmap上提出我的問題。 – jshepherd