Wie bestimme ich die beste Blockgröße für einen 960 PRO M.2?

687
Herbert Smith

Ich habe ein Samsung NVMe SSD 960 PRO M.2.

Ich war gerade dabei, Gentoo darauf zu installieren. gpartedhat mir mitgeteilt, dass sich die physische Blockgröße von den Angaben des Kernels unterscheidet. Ich dachte, die Benachrichtigung war für die M.2-SSD, daher schrieb ich ddin der Benachrichtigung Nullen für die physikalische Blockgröße. Es stellte sich heraus, dass es für mein USB-Laufwerk war.

Ich möchte wissen, was die Blockgröße ist, die das Gerät aus der Box hat. Ich weiß, dass es mit allem, was ich gebe, funktioniert, aber ich möchte, dass es anhält.

-4
Es spielt keine Rolle, verwenden Sie einfach den Standard für das Dateisystem, das Sie verwenden möchten. Das Dateisystem erledigt seine Arbeit, der Controller auf der SSD erledigt seine Aufgabe und zusammen funktionieren sie einfach. Jeder Teil liest und schreibt dann nur so viel, wie er möchte / möchte. Mokubai vor 5 Jahren 1
Ich weiß, das Zeug wird funktionieren, und alles wird seinen Job machen. Ich mache es jetzt mit 4k Blockgröße. Ich möchte jedoch wissen, welche Blockgröße für dieses Gerät am besten geeignet ist. Ich möchte, dass meine Sachen so gut wie möglich laufen. Deshalb mache ich einen Gentoo-Build von Linux. Danach mache ich einen Linux-Scratch-Build. Ich spiele einfach gerne mit meiner Hardware, weil es mein Spielzeug ist. Ich hatte gehofft, dass ein Dateisystem-Designer über eines dieser Laufwerke verfügt und vielleicht etwas sagt. Ich denke, es wird nicht passieren, wenn es wirklich egal ist. Herbert Smith vor 5 Jahren 0
Bitte bearbeiten Sie die Antwort nicht in Ihre Frage. [su] ist eine Frage- und Antwortseite, und Antworten sollten von Fragen getrennt sein. Sie können stattdessen [Ihre eigene Frage beantworten] (https://superuser.com/help/self-answer). DavidPostill vor 5 Jahren 1
Es ist in der Überarbeitungsgeschichte der Frage. DavidPostill vor 5 Jahren 0
@HerbertSmith, welche Blockgröße meinst du? Festplatten haben eine Blockgröße von 512 B (traditionell) und 4096 B auf neueren Laufwerken. Dies kann jedoch nicht geändert werden. SSDs haben einige Arten von Blöcken, aber ich weiß nicht mal, wie ich diese herausfinden soll, und ich bin nicht sicher, was sie für den HDD-Äquivalentwert anzeigen (was wahrscheinlich für Partitionierungswerkzeuge wichtig ist), sie könnten einige fälschen Zahlen dort. Und dann haben Sie die Blockgröße des Dateisystems, die Sie ändern können, mit der Ausnahme, dass dies vom Dateisystem abhängt, und zumindest für ext4 können Sie nicht einmal 4096 auf x86 verwenden ... ilkkachu vor 5 Jahren 1
Das ... ist etwas unordentlich. @herbert Smith - zögern Sie nicht, eine Antwort zu posten - scheint nur fair. Ich vermute, es gibt ein paar Dinge, die dazu führen, dass diese Fragen geschlossen werden, und ich werde sicherlich versuchen, diese Dinge zu korrigieren und mit den fraglichen Mods ein Wort zu sagen, um zu sehen, wie wir es besser machen können Journeyman Geek vor 5 Jahren 0
@JourneymanGeek Ich schätze es, wenn du dir das anschaust. Als Grund für die gestellte Frage wurde angegeben, dass es sich um eine "Meinungsbildung" handelt. Die in einem Modul implementierte Logik, wie z. B. die Logikgatterpfade, funktionieren nicht auf Meinungen. Das wäre so, als würde man sagen, dass meine CPU aus Magie besteht, weil es eine Meinung ist. Meine Frage wurde öffentlich, nachdem ich keine Antwort mehr brauchte und ich dachte, meine Antwort sei einfach weggeworfen worden. Ich wurde irritiert und löschte die Frage - kein Moderator. Herbert Smith vor 5 Jahren 0
@ilkkachu "Festplatten haben eine Blockgröße von 512 B (traditionell), 4096 B auf neueren Laufwerken, aber das kann nicht geändert werden." -Ja, du kannst. Von den Manpages: Inline 'zfs volblocksize = blocksize' blocksize = Jede Potenz von 2 von 512 Byte bis 128 KByte ist gültig. Herbert Smith vor 5 Jahren 0
@HerbertSmith, ja, das ist eine Eigenschaft des ZFS-Dateisystems (nicht des Laufwerks), wie aus der Tatsache hervorgeht, dass es in der [ZFS-Manpage] (https://www.freebsd.org/cgi/man) beschrieben ist. cgi? query = zfs & sektion = 8 & manpath = FreeBSD + 7.2-RELEASE). Ihre Frage hat nichts zu ZFS oder zu einem anderen Dateisystem gesagt und war überhaupt nicht konkret in Bezug auf die Blockgröße, die Sie meinten. Deshalb habe ich versucht, danach zu fragen. ilkkachu vor 5 Jahren 1
Warum hat niemand der OP überhaupt gesagt, warum seine Frage geschlossen wurde? Scott vor 5 Jahren 0
@HerbertSmith: Dein Fehler bestand darin, das Wort "best" zu verwenden. Was ist das Beste * (etwas) * ist eine meinungsbasierte Frage, insbesondere wenn Sie nicht angeben, welche Kriterien Sie verwenden. Wenn Sie gerade gefragt hätten: "Wie groß ist die Blockgröße für einen 960 PRO M.2?", Wäre Ihre Frage wahrscheinlich nicht geschlossen worden, zumindest nicht so perfekt. Und wenn Sie gefragt hätten, welche Blockgröße für einen 960 PRO M.2 die schnellsten E / A bietet?, Wäre das noch besser gewesen. Scott vor 5 Jahren 0

1 Antwort auf die Frage

2
Kamil Maciorowski

Hinweis: Bei diesem Community-Wiki handelt es sich tatsächlich um die Antwort des OP, die ursprünglich als Bearbeitung der Frage veröffentlicht wurde.


Ich habe gerade recherchiert, um meine Antwort zu erhalten, was mich bisher davon abgehalten hat, mein Betriebssystem zu installieren. Was in verschiedenen Blockgrößen gespeichert ist, ist viel los. Unterschiedliche Hardwarearchitekturen behandeln die verschiedenen Transistoren für verschiedene Blockgrößen unterschiedlich.

Ich habe eine Reihe von Tests durchgeführt. Hier sind die Ergebnisse für das Gerät, nach dem ich gefragt habe:

Mittlere Geschwindigkeiten:

 bs = write speed 512 = 552 MB/s 1024 = 783 MB/s 2048 = 1.4 GB/s 4096 = 2.0 GB/s 8192 = 2.3 GB/s 16384 = 1.7 GB/s 32768 = 2.5 GB/s 65536 = 2.6 GB/s // <=== Max Write Speed 131072 = 2.6 GB/s 262144 = 2.5 GB/s 524288 = 2.5 GB/s 1048576 = 1.7 GB/s 2097152 = 2.5 GB/s 4194304 = 2.2 GB/s 8388608 = 1.9 GB/s 16777216 = 1.9 GB/s 33554432 = 1.8 GB/s 67108864 = 1.7 GB/s 

Mittlere Geschwindigkeiten:

 bs = read speed 512 = 682 MB/s 1024 = 1.2 GB/s 2048 = 1.8 GB/s 4096 = 2.9 GB/s 8192 = 2.9 GB/s 16384 = 3.3 GB/s 32768 = 3.4 GB/s 65536 = 3.6 GB/s // <=== Almost max read spead 131072 = 1.7 GB/s 262144 = 3.6 GB/s 524288 = 3.7 GB/s 1048576 = 3.6 GB/s 2097152 = 3.6 GB/s 4194304 = 3.3 GB/s 8388608 = 3.1 GB/s 16777216 = 1.8 GB/s 33554432 = 2.7 GB/s 67108864 = 2.5 GB/s 

Ich habe einen Taschenrechner benutzt, um die Mediane zu bekommen. Von Arch Linux aus habe ich acht Tests pro Lesung und acht Tests pro Schreibvorgang ausgeführt. Die Tests waren bei Linux-Distributionen, die auf USB laufen, weniger genau. Die Tests waren bei Linux-Distributionen mit GUI weniger genau. Die Tests waren auch aufgrund der erhöhten E / A-Vorgänge für die Gerätebeschaltung weniger genau, wenn Linux-Distributionen auf demselben Laufwerk ausgeführt wurden, das gerade getestet wird.

Die besten Ergebnisse wurden mit einem externen, mit USB 3.0 verbundenen SanDisk Extreme mit der Arch Linux-Installations-ISO erzielt. Dies liegt daran, dass mehrere der Blockgrößen-Geschwindigkeiten, von allen anderen Versuchen, die ich ausprobiert hatte, ein Limit hatten, das erreicht wurde. Daher war es unmöglich, die optimale Geschwindigkeit für dieses Gerät zu bestimmen. Viele der Blockgrößen testeten mit derselben Geschwindigkeit, die 1,7 GB / s betrug, während das Betriebssystem über einen USB-Stick lief, und etwa 1,8 GB / s aus dem getesteten Laufwerk.

Die Geschwindigkeit gibt an, wie das Gerät mit den auf den Seiten gespeicherten Informationen pro Block umgeht.

Vier der Tests wurden mit dem Dateisystem ext4 durchgeführt. Die anderen vier Tests wurden mit dem Laufwerk durchgeführt, das Nullen enthielt. Die ersten beiden Tests für beide Sätze waren für das Laufwerk mit 512B Blockgröße. Die zweiten beiden Tests für diese beiden Sets wurden mit der Blockgröße 4096B durchgeführt.

Die Antwort lautet also 65536B.