LINUX.ORG.RU

Что с SSD?

 ,


0

1

Запись: ~124MB/s

time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 && sync"
4096+0 records in
4096+0 records out
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 31,9473 s, 134 MB/s

real    0m33,099s
user    0m0,008s
sys     0m3,853s

Чтение: ~500 MB/s

time sh -c "dd if=test_file of=/dev/null && sync"
8388608+0 records in
8388608+0 records out
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 8,19024 s, 524 MB/s

real    0m8,212s
user    0m2,107s
sys     0m6,083s

SSD: SP240GBSS3S80S25. Я не пойму. Это нормальные показатели?

Мне кажется вполне нормально, скорость записи будет ниже на обычном ssd.


guest@calculate ~/ssd1p1 $ time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 && sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4.3 GB, 4.0 GiB) скопирован, 8.85124 s, 485 MB/s

real    0m9.006s
user    0m0.007s
sys     0m2.674s
guest@calculate ~/ssd1p1 $ time sh -c "dd if=test_file of=/dev/null && sync"
8388608+0 записей получено
8388608+0 записей отправлено
4294967296 байт (4.3 GB, 4.0 GiB) скопирован, 8.20062 s, 524 MB/s

real    0m8.208s
user    0m1.963s
sys     0m5.682s
linuxnewbie
()

Тест у тебя кривой. Да, SLC-кэш ты вымыл, но не учел файловый кэш ОС.

woolf /home/woolf # time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 && sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 11,0878 s, 387 MB/s


real    0m22,892s
user    0m0,028s
sys     0m8,890s
woolf /home/woolf # 
woolf /home/woolf # time sh -c "dd if=test_file of=/dev/null && sync"
8388608+0 записей получено
8388608+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 11,1122 s, 387 MB/s

real    0m11,395s
user    0m3,054s
sys     0m7,764s
woolf /home/woolf # time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 44,6519 s, 96,2 MB/s

real    0m45,782s
user    0m0,030s
sys     0m11,964s
woolf /home/woolf # 

Deleted
()
Ответ на: комментарий от Vsevolod-linuxoid

и от размера ОЗУ. При ОЗУ в 64 гига и дефолтных настройках dd отрапортует о гораздо более высокой скорости записи (при условии, что память не занята). У него синк 3 секунды занимает, так что реальная скорость записи еще ниже.

Deleted
()
Ответ на: комментарий от Deleted
time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync"
4096+0 records in
4096+0 records out
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 65,7586 s, 65,3 MB/s

real    1m6,243s
user    0m0,017s
sys     0m9,570s

16GB RAM.

BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от Deleted
guest@calculate ~/ssd1p1 $ time sh -c "dd if=/dev/zero of=test_file bs=1G count=4 oflag=sync"
4+0 записей получено
4+0 записей отправлено
4294967296 байт (4.3 GB, 4.0 GiB) скопирован, 13.8454 s, 310 MB/s

real    0m13.891s
user    0m0.001s
sys     0m3.420s

Это конечно похуже, пришлось ждать целую вечность, но тоже такое. Может вы ещё по 1 байту будете отправлять?

linuxnewbie
()
Ответ на: комментарий от BceM_IIpuBeT

Я ж затестил запись последней командой в своем выхлопе: oflag=sync. В любом случае ситуация нормальная.

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

Ну вот. Можешь выяснить, что гигабайт залетает быстро, или, может, 2. А как только SLC буфер кончился - приехали. Так у всех небольших по объему TLC.

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

Хм. сделай fstrim - у тебя походу даже сборка мусора не отрабатывает. Пказывай smart. загуглил твой диск - он по тестам может принять около 40 гигабайт на макс. скорости.

Deleted
()

не ssd

sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 179,991 s, 23,9 MB/s

amd_amd ★★★★★
()
Ответ на: комментарий от linuxnewbie

Ты где там один байт увидел, чудо? И нам надо от кэша избавиться, а не записать побытрее в данном конкретном случае.

Deleted
()
Ответ на: комментарий от Deleted

Ну-ну, даже в случае с нжмд есть рекомендация задавать размер буфера не меньше объёма буферной памяти на устройстве.

linuxnewbie
()
Ответ на: комментарий от linuxnewbie

Понятно. Пруфец на своё голословное утверждение. Потом man dd. А после - читать о том, как работает подсистема ввода-вывода.

Deleted
()

ssd доисторический KINGSTON SV300S37A60G на 60 гигов

sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 31,0897 s, 138 MB/s
чего то у тебя действительно не того

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd

Мой ещё старше (модель 2011 года)

$ time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 && sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 19,8341 s, 217 MB/s

real    0m45,969s
user    0m0,018s
sys     0m2,795s
Deleted
()
Ответ на: комментарий от Deleted
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-4.19.36-1-MANJARO] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     SPCC Solid State Disk
Serial Number:    C6A007791BEC01430381
Firmware Version: SAFM11.3
User Capacity:    240 057 409 536 bytes [240 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue May  7 23:13:57 2019 EEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (   30) seconds.
Offline data collection
capabilities:                    (0x79) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        (   2) minutes.
Conveyance self-test routine
recommended polling time:        (   3) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       5867
 12 Power_Cycle_Count       0x0012   100   100   000    Old_age   Always       -       1855
168 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       36
170 Unknown_Attribute       0x0003   100   100   010    Pre-fail  Always       -       321
173 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       1179690
192 Power-Off_Retract_Count 0x0012   100   100   000    Old_age   Always       -       150
194 Temperature_Celsius     0x0023   098   098   057    Pre-fail  Always       -       30 (Min/Max 30/30)
218 Unknown_Attribute       0x000b   100   100   050    Pre-fail  Always       -       18
231 Temperature_Celsius     0x0013   100   100   000    Pre-fail  Always       -       99
241 Total_LBAs_Written      0x0012   100   100   000    Old_age   Always       -       5650

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

dd грузит процессор, но не так же сильно... Может это момент забора данных из /dev/zero

давай так попробуем, раз 16 гиг памяти:

woolf /home/woolf # dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 43,498 s, 98,7 MB/s
woolf /home/woolf # dd if=test_file of=test_file2 bs=1M count=4096 oflag=sync
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 60,3857 s, 71,1 MB/s
woolf /home/woolf # 


согласно тестам на оверклокерс у тебя должно получиться что-то около 170 мбайт/с

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

Ну тесты я бы смарт прогнал, но согласно атрибутам 231 и 241 - ты им толком не пользовался. Мне вот прям щас приходит в голову только попробовать диск в другой машине/другое ядро/другую ФС. Если у тебя zfs/btrfs да еще со сжатием - тогда всё понятно, иначе - затрудняюсь.

Deleted
()
Ответ на: комментарий от Deleted

Вас забанили в гугле или где? Вы считаете что я буду тратить своё время? Вот не голословное утверждение: для таких измерений видимо нужен флаг direct, а не sync, и 1 мегабайт — это столь же бредовое значение, как и 1 байт.

linuxnewbie
()
Ответ на: комментарий от Deleted
[reaper@T430 test]$ dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync
4096+0 records in
4096+0 records out
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 69,7535 s, 61,6 MB/s
[reaper@T430 test]$ dd if=test_file of=test_file2 bs=1M count=4096 oflag=sync
4096+0 records in
4096+0 records out
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 94,9171 s, 45,2 MB/s
BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от linuxnewbie

Для таких измерений флаг direct ничего не решает. И да. ssd записывает блоками от 1 до 4 мегабайт. Проблема с отправкой одного байта - это мощность процессора, и количество iops, но в случае с отсутствием флага direct отправлять будет данняе ядро, и ему глубоко фиолетово, сколько ты напишешь в размере сектора. Оно всё равно будет скидывать так, как настроено. А, чуть не забыл. При записи в файл даже с флагом direct будет писать тоже ядро, так как данные сначала будут поступать драйверу ФС, а уже он будет решать что и как записать. sync мы пишем для того, чтобы софтина вызвала fsync() по окончании записи, и уже на основании фактической скорости скидывания данных на носитель выдала нам подсчёт. Брысь в школу.

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

Хм. Файловая система какая? Если без сжатия - грешить на диск/южный мост/ядро в порядке очередности, по моему мнению. Может кто ещё придёт и что более умное скажет.

Deleted
()
Ответ на: комментарий от Deleted
Number  Start    End        Size       File system     Name  Flags
 1      1,00MiB  2,00MiB    1,00MiB                    grub  bios_grub
 2      2,00MiB  1026MiB    1024MiB    linux-swap(v1)
 3      1026MiB  228936MiB  227910MiB  ext4
BceM_IIpuBeT ★★☆☆☆
() автор топика
Последнее исправление: BceM_IIpuBeT (всего исправлений: 1)
Ответ на: комментарий от Deleted
dd if=/dev/zero of=test_file bs=1M count=16384 oflag=sync
16384+0 records in
16384+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 313,241 s, 54,8 MB/s

dd if=test_file of=/dev/null oflag=sync
33554432+0 records in
33554432+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 36,3324 s, 473 MB/s
BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Еще когда записывал 16 гигов начал лагать графический интерфейс и на кнопки не реагировало.

12309 - это буфер для dirty большой, так как памяти свободной много и он заполнился. Классика.

По теме - ну у тебя есть ошибки с атрибутом 218, если он начал расти недавно (в последние пару-тройку дней) - у тебя деградация NAND и диск начинает умирать. Но так то по показателям он у тебя хороший.

Справедливости ради про слова товарища linuxnewbie поясню, почему с его размерами bs тест показывает более высокую скорость:

dd if=/dev/zero of=test_file bs=1M count=1024 oflag=sync
1024+0 записей получено
1024+0 записей отправлено
1073741824 байт (1,1 GB, 1,0 GiB) скопирован, 9,54606 s, 112 MB/s
woolf /home/woolf # dd if=/dev/zero of=test_file bs=4k count=1M oflag=sync
^C21617+0 записей получено
21617+0 записей отправлено
88543232 байт (89 MB, 84 MiB) скопирован, 72,4361 s, 1,2 MB/s

woolf /home/woolf # dd if=/dev/zero of=test_file bs=1G count=4 oflag=sync
4+0 записей получено
4+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 19,2299 s, 223 MB/s
woolf /home/woolf # dd if=/dev/zero of=test_file bs=4G count=1 oflag=sync
0+1 записей получено
0+1 записей отправлено
2147479552 байт (2,1 GB, 2,0 GiB) скопирован, 7,46317 s, 288 MB/s


sync выполняется после записи каждого сектора. Т.е. первая команда выполнит sync 4096 раз, вторая 4 раза и третья - 1 раз. На это тоже в общем-то оверхед не плохой получается. Скажем, если поставить размер сектора в 4к, а количество в 1М - тогда скорость записи будет вообще зависеть исключительно от пропускной способности памяти и процессора.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

это потому что команда чуть другая, так у меня то же быстрее прет

sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 && sync"
4096+0 записей получено
4096+0 записей отправлено
4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 15,0528 s, 285 MB/s
вот так медленнее всего получается
time sh -c "dd if=/dev/zero of=test_file bs=1M count=4096 oflag=sync"

amd_amd ★★★★★
()
Ответ на: комментарий от Deleted

4294967296 байт (4,3 GB, 4,0 GiB) скопирован, 19,8341 s, 217 MB/s

real 0m45,969s

dd отработал за 20 секунд и написал, что 217 мегабайт скорость записи. Потом еще 25 твоя система скидывала данные на диск. Так что у тебя тоже что-то не так с носителем.

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

170 Unknown_Attribute 0x0003 100 100 010 Pre-fail Always - 321

мля, я прошляпил. Это ж бэды.
А атрибут 168 показывает проблемы с SATA PHY. т.е. это всякие CRC, ошибки команд, etc. Обнуляется после каждой перезагрузки.

Вывод: диск потенциальный труп.

Deleted
()
Ответ на: комментарий от anonymous

Ну в целом так-то оно верно, но обратить внимание следует )

Deleted
()
Ответ на: комментарий от Deleted

А можно как-то узнать деградирующие чипы и их заменить?

BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от Deleted

Т.е. когда закончатся резервные ячейки он сдохнет?

BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от Deleted
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       5869
 12 Power_Cycle_Count       0x0012   100   100   000    Old_age   Always       -       1856
168 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       36
170 Unknown_Attribute       0x0003   100   100   010    Pre-fail  Always       -       321
173 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       1179690
192 Power-Off_Retract_Count 0x0012   100   100   000    Old_age   Always       -       150
194 Temperature_Celsius     0x0023   098   098   057    Pre-fail  Always       -       30 (Min/Max 30/30)
218 Unknown_Attribute       0x000b   100   100   050    Pre-fail  Always       -       18
231 Temperature_Celsius     0x0013   100   100   000    Pre-fail  Always       -       99
241 Total_LBAs_Written      0x0012   100   100   000    Old_age   Always       -       5676

Что-то не обновилось. Я выключил и включил.

BceM_IIpuBeT ★★☆☆☆
() автор топика
Ответ на: комментарий от Deleted

Если судить по графику в ksysguard, скорость записи не поднималась выше 110 Мб/сек

Deleted
()
Ответ на: комментарий от anonymous

В данном случае мы не бенчмарк диску делали, а сравнили свои показания с достаточной честностью, после чего определились, что диску у ТС приходит пушной зверёк.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.