Wert von sched_latency_ns und sched_min_granularity_ns erhöhen

2631
Prasoon Tiwari

Warum erhalte ich eine Fehlermeldung, wenn ich die Werte dieser beiden Parameter erhöhen möchte:

#cat /proc/sys/kernel/sched_latency_ns 1000000000 #echo 2000000000 > /proc/sys/kernel/sched_latency_ns bash: echo: write error: Invalid argument # 

Ich erhalte die gleiche Fehlermeldung, wenn ich sched_latency_ns durch sched_min_granularity_ns ersetze.

Kann mir jemand den richtigen Weg sagen, um diese Parameter zu erhöhen.

4

1 Antwort auf die Frage

4
doug65536

Eine Sekunde ist der absolute maximal akzeptierte Wert für diese Einstellung. Werte über 1000000000 sind nicht gültig (Anzahl der Nanosekunden in einer Sekunde).

Siehe den Kernel-Quellcode

262 static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */ 

und

Zeile 294

294 { 295 .procname = "sched_latency_ns", 296 .data = &sysctl_sched_latency, 297 .maxlen = sizeof(unsigned int), 298 .mode = 0644, 299 .proc_handler = sched_proc_update_handler, 300 .extra1 = &min_sched_granularity_ns, 301 .extra2 = &max_sched_granularity_ns, 302 }, 

Größere und größere Werte verbessern die Leistung. Zu hohe Werte können zu Problemen führen. Eine Sekunde ist bereits eine extrem hohe Einstellung.