The lazy writer's main task is to flush out batches of dirty, aged buffers—buffers that contain changes that must be written back to disk before the buffer can be reused for a different page—and make them available to user processes. The batch I/O size used by lazy writer can be set by the max async IO parameter using the sp_configure stored procedure. This parameter controls both the checkpoint's and lazy writer's batch I/O size and can be tuned to maximize the I/O throughput for specific hardware platforms and I/O subsystems.
The lazy writer process automatically starts flushing buffers when the number of available free buffers falls below a certain threshold and stops flushing them when this number goes approximately 5 to 6 percent above the threshold. This threshold value is specified as a percentage of total number of buffers in the buffer cache.