Hide Forgot
Basically the same inquiry has been reported at https://bugzilla.redhat.com/show_bug.cgi?id=1018335 [various timing parameters have an incorrect USec suffix in systemctl show output, such as RestartUSec, TimeoutUSec, etc.] But I would like some feedback about it, as it is confusing to need to set TimeoutStartSec and when querying values it shows TimeoutStartUSec. Yet, also confusing is the fact that it is required to tell, and it also outputs, time units, i.e. "min" for minutes and "s" for seconds.
I am not sure that I can tell you more than Lennart already wrote in the mentioned bug. TimeoutStartSec in the unit file make sense because it is created by the user and it is practical to have seconds as a default value there. In the other hand internally we use microseconds because that gives us better granularity. systemctl show is a low level command to display the internal things. Maybe it would be better to display the time in microseconds in the show output, instead of converting them to human-readable values. But we are providing stability promise on output of systemctl show (so it can be used in scripts), so it is really hard to change that.
Since we can neither break the API by renaming the variables nor break stability by changing the output, I'm inclined to close this bug.