Wir haben ein Linux-Projekt, wo wir struct Informationen über Puffer schieben. Kürzlich haben wir festgestellt, dass der Kernel-Parameter optmem_max zu klein ist. Ich wurde gebeten, dies durch einen Vorgesetzten zu erhöhen. Während ich verstehe, wie man das macht, verstehe ich nicht wirklich, wie ich weiß, wie groß das ist.Wie ermittle ich in Linux den optimalen Wert von optmem_max?
Weiterhin bekomme ich nicht wirklich was optmem_max ist.
Hier ist, was die Kernel-Dokumentation sagt: „Die maximale zusätzliche Puffergröße pro Socket Zusatzdaten eine Folge von struct cmsghdr Strukturen mit angehängten Daten vorhanden ist.“
(Ich verstehe nicht wirklich, was das auf Englisch bedeutet).
Ich sehe viele Beispiele im Internet, die vorschlagen, dass dies für bessere Leistung erhöht werden sollte.
In:
/etc/sysctl.conf
Ich habe diese Zeile das Problem zu beheben:
net.core.optmem_max = 1020000
Sobald dies erledigt ist, haben wir eine bessere Leistung.
Also meine Frage zusammenfassen:
In Englisch, was ist optmem_max?
Warum ist es standardmäßig in den meisten Linux-Distributionen so niedrig, wenn es größer verbessert die Leistung zu machen?
Wie misst man, was eine gute Größe für diese Zahl sein soll?
Was sind die Konsequenzen, um dies wirklich groß zu machen?
Abgesehen von /etc/sysctl.conf, wo ist dieser Satz im Kernel standardmäßig? Ich grep den Kernel, aber ich konnte keine Spur von dem Standardwert von optmem_max wird auf 20480, das auf unserem System ist der Standard finden.