Re: Pgstat.tmp file activity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From http://docs.sun.com/source/817-1836-10/perfplat.html

High File System Page-in Rate

If you are seeing high file system page-in rates on Solaris 8 or 9, you may benefit from increasing the value of segmap_percent. This parameter is set by adding the following line to the /etc/system file:

set segmap_percent=25

segmap_percent adjusts the percentage of memory that the kernel will map into its address space for the file system cache. The default value is 12; that is, the kernel will reserve enough space to map at most 12% of memory for the file system cache. On a heavily loaded machine with 4 GB of physical memory, improvements have been seen with values as high as 60. You should experiment with this value, starting with values around 25. On systems with large amounts of physical memory, you should raise this value in small increments, as it can significantly increase kernel memory requirements.
====================================

I think this can also be set with the kernel debugger.

I keep it at 50% on my E3500 and E4500 systems (8 and 12 GB memory).

Jim C. Nasby wrote:

On Fri, Dec 23, 2005 at 04:50:32PM +1100, Dan Austin wrote:
[...]
Right, the file is fully written under a temp name, and then rename()'d
This makes sense and is almost certainly not the cause of the problem.
Although there is a lot more data being written to that file than I
would have thought.

One of Sun's kernel engineers has come up with a solution that seems to
have fixed the problem. Instead of increasing work_mem (which we still
might do) we've mounted a swapfs partition over the pg temp directory:

 # mount | grep pgsql_tmp
 /export/data/pgsql/data/base/64920741/pgsql_tmp on swap [...]

This has actually reduced the disk activity considerably. So far, the
blocking problem seems to have gone.

Now to find some Postgres DBAs in Sydney to do some review / tuning of
our memory settings. :-)

Note also that Solaris by default limits the amount of memory used for
disk caching, which is Not Good for PostgreSQL. IIRC this can be changed
with a sysctl, but I don't recall the details off-hand.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux