--- task: Tuning checks (read-only) version: R1.05 (first written for R1.03) source: IM 36K10J10-01EN §5.5.1 (5th ed., Feb. 2026); practiced on the test system 2026-09-30 (R1.03) status: verified (read-only checks) on R1.03 (2026-09-30) and on the R1.05 test server (2026-10-08: setup-file limits, snapshot files, itmdbg code 2) --- # Tuning checks (read-only) Checks whether CI Server needs tuning. Nothing here changes the system. Changing the limits means editing setup files and restarting CI Server: ask the user first. ## Limits in setup files (`%TLS_ROOT_PATH%\tls\sup\`) Read the active (non-`!`) lines: | File | Keyword | Meaning | R1.03 and R1.05 test systems | |---|---|---|---| | `dur.sup` | `dur_max_proc` | Max processes (default 250) | 250 | | `dur.sup` | `pool_kbytes` | DUR message pool | 250000 | | `itm.sup` | `pool_kbytes` | Item common memory pool | 650000 (`itm.sup` identical on R1.05) | | `database_start.cmd` (`tls\com`) | `-u` / `-f` | Max database users (default 2K) / files (default 1,200) | not checked | ## Live values: automatic health snapshots CI Server's system monitor (`smdmon`) writes debugger snapshots about every 10 minutes to `%TLS_LOG_PATH%\smd___*.log` (e.g. `smd_UNLICENCED_LOW_itmdbg_all.log`). Read the newest entries: | File | What to check | Target (IM 36K10J10 §5.5.1) | |---|---|---| | `*_itmdbg_all.log` | `common size` / `free size` | Free above 10 %, usage below 75 % | | `*_smdsnp_process.log` | Per process: `queue_size`, `queue_used`, `queue_high` | No requests waiting (`queue_used` 0); enlarge a queue that stays in use | | `*_ismdbg_all.log` | `Total number of lock collisions`, users, files | Collisions not rising above 250/s; entries below 80 % of max users | | `*_smdsnp_process.log` | Number of processes | Well below `dur_max_proc` | Test system (R1.03, 2026-09-30): common memory 665.6 MB, free 665.3 MB; queues empty; 3 lock collisions in total. R1.05 (2026-10-08): same file naming with the node name (`smd__LOW__all.log`, previous one kept as `.old`). New snapshots from the system monitor (`smdmon_config.csv`): `*_netstat_anob.log` (open IP ports with their processes) and `*_curl_isgsnap.log` (a snapshot from the web server at `http://localhost:8080/isgsnap`). The system monitor switches `umhlog` logging on with size argument `l40` (R1.03: `l4`); on the R1.05 test server `umhlog.old` was about 40 MB, so the message log now rolls over at about 40 MB (R1.03 size limit not observed). The low-level snapshot script writes `InstalledProducts.txt` with PowerShell instead of `wmic`. ## Live values from the interactive debuggers (read-only) The debuggers ask for a code; pipe the answers in and end with `-1` (exit). Use only the read-only codes listed in the manual summaries: | Command | Shows | Reference | |---|---|---| | `printf '2\n-1\n' \| itmdbg` | item common size/free, number of items, integration granule, update counters | `knowledge/manuals/IM36K10L36-01EN.md` §4 | | `printf '1\n-1\n' \| eqpdbg 0 ` | equipment manager: lines attached, scan tick, slave count, line load % | `knowledge/manuals/IM36K10L40-01EN.md` §3 | Verified 2026-09-30 (bash, R1.03); `itmdbg` code 2 also on R1.05 (2026-10-08, piped from PowerShell: common size 665.6 MB, free 665.1 MB). Other codes change the running system (delete items, unlock, update scan status); do not use them without the user's approval. ## Not yet practiced Debug launchers (`jwuipoi_debug`, `jhmiset_debug`, …), other debuggers (`opcdbg`, `ithdbg`, …), and per-process debug settings; see `knowledge/manuals/IM36K10J10-01EN.md` §5.5.2.