-gtc iqsrv16 database server option

Controls the maximum processor concurrency that the database server allows.

Syntax

iqsrv16 -gtc logical-processors-to-use ...

Applies to

Linux, Solaris, and Windows operating systems executing on Intel-compatible x86 and x64 platforms.

Remarks

When you start the database server, the number of physical and logical processors detected by the database server appears in the database server messages window.

Physical processors are sometimes referred to as packages or dies, and are the CPUs of the computer. Additional logical processors exist when the physical processors support hyperthreading or are themselves configured as multiprocessors (usually referred to as multi-core processors). The operating system schedules threads on logical processors.

The -gtc option allows you to specify the number of logical processors that can be used by the database server. Its effect is to limit the number of database server threads that are created at server startup. This limits the number of active database server tasks that can execute concurrently at any one time. By default, the number of threads created is 1 + the number of logical processors on all licensed physical processors.

By default, the database server allows concurrent use of all logical processors (cores or hyperthreads) on each licensed physical processor.

For example, when using a one-CPU license on a two-CPU system where each CPU contains four cores with two threads per core, the network database server permits eight threads to run concurrently on one CPU and zero threads on the other. If the -gtc option is specified, and the number of logical processors to be used is less than the total available for the number of physical processors that are licensed, then the database server allocates logical processors based on round-robin assignment. Specifying 1 for the -gtc option implicitly disables intra-query parallelism (parallel processing of individual queries). Intra-query parallelism can also be explicitly limited or disabled using the max_query_tasks option.

The -gtc option cannot be used with the -gta option.

Example

Consider the following examples for a Windows-based SMP computer. In each case, assume a 4-processor system with two cores on each physical processor for a total of eight logical processors. The physical processors are identified with letters and the logical processors (cores in this case) are identified with numbers. This 4-processor system therefore has processing units A0, A1, B0, B1, C0, C1, D0, and D1.

Scenario Network database server settings
A single CPU license or -gt 1 specified
  • -gt 1
  • -gtc 2
  • -gnh 20

Threads can execute on A0 and A1.

No licensing restrictions on the CPU with -gtc 5 specified
  • -gt 4
  • -gtc 5
  • -gnh 20

Threads can execute on A0, A1, B0, C0, and D0.

A database server with a three CPU license and -gtc 5 specified
  • -gt 3
  • -gtc 5
  • -gnh 20

Threads can execute on A0, A1, B0, B1, and C0.

No licensing restrictions on the CPU with -gtc 1 specified
  • -gt 4
  • -gtc 1
  • -gnh 20

Threads can execute only on A0.