diff --git a/Documentation/specs/runtime-configuration-file.md b/Documentation/specs/runtime-configuration-file.md index ff2df4c33..7d20b9726 100644 --- a/Documentation/specs/runtime-configuration-file.md +++ b/Documentation/specs/runtime-configuration-file.md @@ -25,8 +25,15 @@ The files are both JSON files stored in UTF-8 encoding. Below are sample files. ```json { "runtimeOptions": { - "gcServer": true, - "gcConcurrent": false, + + "configProperties": { + "System.GC.Server": true, + "System.GC.Concurrent": true, + "System.Threading.ThreadPool.MinThreads": 4, + "System.Threading.ThreadPool.MaxThreads": 8, + "System.Threading.Thread.UseAllCpuGroups": true, + }, + "framework": { "name": "Microsoft.DotNetCore", "version": "1.0.1", @@ -116,9 +123,11 @@ The files are both JSON files stored in UTF-8 encoding. Below are sample files. ### `runtimeOptions` Section (`.runtimeconfig.json`) This section is copied verbatim from an identical section in the input `project.json` file (with the exception of the `target` parameter which is generated by the compilation process). The `runtimeConfig` section specifies parameters to be provided to the runtime during initialization. Known parameters include: - -* `gcServer` - Boolean indicating if the server GC should be used (Default: _TBD_). Note: This is designed to mirror the existing [app.config](https://msdn.microsoft.com/en-us/library/ms229357.aspx) setting) -* `gcConcurrent` - Boolean indicating if background garbage collection should be used (Default: _TBD_). Note: This is designed to mirror the existing [app.config](https://msdn.microsoft.com/en-us/library/yhwwzef8.aspx) setting). +* `configProperties` - Indicates configuration properties to configure the runtime and the framework + * Examples: + * Full list of [configuration properties](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/clr-configuration-knobs.md) for CoreCLR. + * `System.GC.Server` (old: `gcServer`) - Boolean indicating if the server GC should be used (Default: `true`). + * `System.GC.Concurrent` (old: `gcConcurrent`) - Boolean indicating if background garbage collection should be used. * `framework` - Indicates the `name`, `version`, and other properties of the shared framework to use when activating the application. The presence of this section indicates that the application is a portable app designed to use a shared redistributable framework. * `rollForward` - When `false`, the framework version is strictly obeyed by the host. When `rollForward` is unspecified or specified as `true`, the framework from either the same or a higher version that differs only in the `SemVer` patch field will be used. * For example, if `version=1.0.1` and `rollForward` is `true`, the host would load the shared framework from `1.0.{n}`, where `n >= 1`, but will not load from `1.1.0`, even if present. When `rollForward` is `false`, the shared framework will be loaded from `1.0.1` strictly.