ci-server-engineer/.claude/skills/system-management/tasks/tuning-checks.md
cliu 83af63ab53 R1.05 re-check batch 2: graphics, history, portal, system-management, items
Full manual diffs (C50, R30, C60, L20, C40, L35, R10, R20, J10, L30, L50,
P30, G10, C10) and read-only checks on the shared R1.05 test server where
the permission system allowed them. Skills and summaries moved to R1.05.
Issues ISS-092..129 (gaps 104-107, 114-115, 130-131 unused); ISS-074
closed (manual and software agree), ISS-091 corrected by ISS-119.
version-differences: unlisted manual changes and installed-only changes.
r105-verification: V5-V9 and new not-tested rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:29:15 +11:00

66 lines
3.6 KiB
Markdown

---
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_<node>_<debugger>_*.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_<node>_LOW_<debugger>_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 <EQP process>` | 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.