mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-06-27 17:54:58 +02:00
9fbe2de1cb
* Reduce IP-Tag resource usage and clean up ShellCheck findings Performance / resource fixes in the generated service: - VM IP detection only queries the QEMU guest agent when it is actually enabled in the VM config. Previously every VM without an agent stalled the loop for the full `qm guest cmd` timeout on each cycle; the timeout is also lowered from 8s to 5s. - Skip the ARP/ping fallback for VMs entirely when the guest agent already returned addresses, avoiding needless ping probes every run. - Snapshot `ip neighbor show` once per host instead of invoking it per MAC in the VM and LXC lookups. - Lower ping verification to a 1s timeout (`-W 1`). ShellCheck cleanup in the installer: - Define color variables directly instead of via $(echo ...) (SC2116/SC2028). - Use `read -rp` everywhere (SC2162). - Replace Unicode quotes with ASCII in a status message (SC1111). * Cut IP-Tag CPU usage by avoiding per-guest pct/qm status calls The periodic check spawned one `pct status` per container and one `qm status` per VM each cycle. Both are heavy Perl tools (~hundreds of ms CPU per invocation), so on hosts with many guests the 5-minute run caused a noticeable CPU spike. - Derive LXC status from the single `pct list` call that is already made for enumeration. - Add one `qm list` call to collect all VM statuses at once. - Store both in a per-cycle STATUS_CACHE and read from it instead of calling `pct status` / `qm status` per guest (with a fallback for direct calls outside the cycle).