[syslog-ng] Trying to let my harddrive spin down once in a while

Paul Krizak paul.krizak at amd.com
Mon Jul 11 20:22:28 CEST 2011


I think the default is 10 seconds.  It's described in detail in the 
docs: 
http://www.balabit.com/sites/default/files/documents/syslog-ng-v3.0-guide-admin-en.html/reference_options.html

Considering your use case, I would recommend setting it at least 2x your 
disk timeout delay.  So if your disks go to sleep after 15 seconds of 
inactivity, set it to at least 30 seconds.

Keep in mind, however, that buffering messages for a long time can have 
undesirable side-effects, particularly when it comes to debugging and 
troubleshooting.  For example, if you are trying to watch for things in 
/var/log/messages, you may have to wait flush_timeout() seconds before 
you even see anything.  This also means that these messages aren't 
committed to disk, meaning that if your system crashes, you will be 
missing the last flush_timeout() seconds of log data before the crash, 
which may have contained critical info about what caused your system to 
fail.

That's why the default settings include flush_lines(0), since that 
disables the buffering functionality all together, forcing every syslog 
message to be committed to disk as soon they arrive.

Paul Krizak                         7171 Southwest Pkwy MS B200.3A
MTS Systems Engineer                Austin, TX  78735
Advanced Micro Devices              Desk:  (512) 602-8775
Linux/Unix Systems Engineering      Cell:  (512) 791-0686
Global IT Infrastructure            Fax:   (512) 602-0468

On 07/11/2011 10:40 AM, Lars Stokholm wrote:
> Oh, I thought you wrote flush_lines. I don't have a flush_timeout in
> my syslog-ng.conf. I see you set it in milliseconds. But what is the
> default and what value would you recommend?
>
> Lars
>
> On Mon, Jul 11, 2011 at 7:21 PM, Paul Krizak<paul.krizak at amd.com>  wrote:
>> flush_timeout() and flush_lines() work together.  Syslog-ng will write
>> to disk if flush_lines() lines are in the buffer, *or* if
>> flush_timeout() happens, whichever happens first.
>>
>> So to get your desired behavior you should set flush_timeout() to 60
>> seconds or something, that way the 2-3 lines in the buffer will stay
>> there long enough for the kernel to spin down the disks.
>>
>> Paul Krizak                         7171 Southwest Pkwy MS B200.3A
>> MTS Systems Engineer                Austin, TX  78735
>> Advanced Micro Devices              Desk:  (512) 602-8775
>> Linux/Unix Systems Engineering      Cell:  (512) 791-0686
>> Global IT Infrastructure            Fax:   (512) 602-0468
>>
>> On 07/11/2011 10:19 AM, Lars Stokholm wrote:
>>> It's not silly and in fact I've set   flush_lines (10);   in
>>> syslog-ng.conf. I know it's not a lot, but 10 lines is far more than
>>> crond outputs per minute, which is why I don't understand syslog-ng
>>> writes every minute when crond is running and almost not at all when
>>> crond is not running. Am I making any sense? :)
>>>
>>> Lars
>>>
>>> On Mon, Jul 11, 2011 at 7:10 PM, Paul Krizak<paul.krizak at amd.com>    wrote:
>>>>
>>>> This may be a silly question, but have you tried setting flush_timeout()
>>>> to some large value so that messages are queued?  Or is this not the
>>>> behavior you seek?  It seems fairly obvious to me that if you have
>>>> anything writing to syslog at any time, and those messages end  up in a
>>>> file, that the kernel is going to spin up the disks and write out the
>>>> dirty pages.
>>>>
>>>> The only way I can imagine to avoid this would be to queue the messages
>>>> within syslog-ng (which won't cause any disk-backed pages in memory to
>>>> become dirty) and only write them out at wide enough intervals that the
>>>> kernel sees enough inactivity to spin down the disks.
>>>>
>>>> Paul Krizak                         7171 Southwest Pkwy MS B200.3A
>>>> MTS Systems Engineer                Austin, TX  78735
>>>> Advanced Micro Devices              Desk:  (512) 602-8775
>>>> Linux/Unix Systems Engineering      Cell:  (512) 791-0686
>>>> Global IT Infrastructure            Fax:   (512) 602-0468
>>>>
>>>> On 07/11/2011 09:58 AM, Lars Stokholm wrote:
>>>>> Hello
>>>>>
>>>>> On my laptop I run Arch Linux with syslog-ng and cronie (cron) among
>>>>> other programs of course.
>>>>>
>>>>> I'm trying to get my harddrive to spin down automatically once in a
>>>>> while (using hdparm).
>>>>>
>>>>> Me and a lot of other people both in the Arch and Ubuntu community are
>>>>> having our attempts to do this ruined, by what first seemed to be the
>>>>> EXT4 journalling block device (jbd2).
>>>>>
>>>>> After long discussions and finally a bug report (see at the bottom of
>>>>> this mail), I think I've boiled my troubles down to be mostly about
>>>>> syslog-ng (and possibly cronie - but I don't think so).
>>>>>
>>>>> No matter what I try I can't seem to get syslog-ng to stop "waking up my
>>>>> disks" (at least that's what kernel tracing tells me). Killing the crond
>>>>> process almost totally stops these syslog-ng writes to the disk.
>>>>> Unfortunately I've been unable to configure my way out of it using
>>>>> syslog-ng.conf. So my harddrive won't stay spinned down - not even for a
>>>>> minute.
>>>>>
>>>>> This is what tracing the journalling gives me (see the kernel bug report
>>>>> below for an explanaition):
>>>>> http://pastebin.com/raw.php?i=J6BtGVrz
>>>>>
>>>>> As you can probably see, syslog-ng writes every minute at least. I guess
>>>>> that's because my user crontab has a command that gets run every minute.
>>>>> What I don't get is why syslog-ng writes to the disk, even though I'm
>>>>> telling it not to log crond's output.
>>>>>
>>>>> Here is my syslog-ng.conf - as you can see I tried to output the crond
>>>>> messages to /dev/null. I guess it works, because there are no mentions
>>>>> of crond anywhere in /var/log anymore.
>>>>> http://pastebin.com/raw.php?i=H02KKWPV
>>>>>
>>>>> Here are the discussions and the bug report I mentioned:
>>>>> https://bbs.archlinux.org/viewtopic.php?id=113516
>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/607560
>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=39072
>>>>>
>>>>> I don't know if syslog-ng is causing trouble for only me, but it seems
>>>>> unlikely.
>>>>>
>>>>> Regards,
>>>>> Lars
>>>>
>>>> ______________________________________________________________________________
>>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>>>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>>>
>>> ______________________________________________________________________________
>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>>
>>>
>>
>> ______________________________________________________________________________
>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>
>>
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>
>



More information about the syslog-ng mailing list