Linux ===== If you want readprofile data, you need to give the user **sudo** access to run **readprofile. Root privileges are required to clear the counter data. Additionally, the Linux kernel needs to be booted with `profile=2` in the kernel command line. Here is a **sudo** configuration example of passwordless access for user *postgres* to run **readprofile -r**:: postgres ALL = NOPASSWD: /usr/sbin/readprofile -r The number of open files will likely need to be raised for the on the systems that are driving the database when using the thread based driver and client programs. To increase this for a user edit `/etc/security/limits.conf`. Here is an example for the user *postgres*:: postgres soft nofile 40000 postgres hard nofile 40000 The Linux kernel parameter also needs to be adjusted because the user limits cannot be set above the operating system limits. Edit `/etc/sysctl.conf`:: fs.file-max = 40000 This can be verified in `/proc/sys/fs/file-max`. Additionally the driver for this workload may need to create more threads than allowed by default. To increase the thread per process limit for the user in `/etc/security/limits.conf`:: postgres soft nproc 32768 postgres hard nproc 32768 Similarly in `/etc/sysctl.conf` for the same reasons as above:: kernel.threads-max = 32768 This can be verified in `/proc/sys/kernel/threads-max`. One of the shared memory parameters will likely needs to be raised on the database system in order to accommodate increasing the shared_buffers parameter in PostgreSQL. One way to do this permanently is to edit `/etc/sysctl.conf` and add:: kernel.shmmax = 41943040