Я думаю, що встановили Ubuntu на SSD, але я не впевнений, і я хочу це перевірити. Але я не знаю, як це зробити?
Я думаю, що встановили Ubuntu на SSD, але я не впевнений, і я хочу це перевірити. Але я не знаю, як це зробити?
Відповіді:
Чувак, де мій корінь?
Перш за все, нам потрібно знати, на якому диску розміщена ваша коренева файлова система (іншими словами, на якому пристрої розміщений ваш Ubuntu. Один із способів df
.
$ df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 110G 58G 48G 55% /
Чудово! Тепер я знаю, що мій Ubuntu розміщений на /dev/sda
диску розміром 110 ГБ (а інші 10 ГБ використовуються для чогось іншого). Не вистачає інформації? Добре, як щодо цього:
$ sudo lshw -short -C disk
[sudo] password for xieerqi:
H/W path Device Class Description
======================================================
/0/1/0.0.0 /dev/sda disk 120GB Radeon R7
/0/2/0.0.0 /dev/sdb disk 500GB TOSHIBA MQ01ABF0
О, Radeon R7! це мій SSD! Але чекай. . .
Що робити, якщо у вас два диски однакового розміру і того ж виробника?
Ну, на дисках є ця дуже цікава інформація - як швидко вони обертаються, і як ми знаємо, SSD-диски не обертаються .
$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
[sudo] password for xieerqi:
Rotation Rate: Solid State Device
Виглядає так?
Побічна примітка:smartmontools
, можливо , буде потрібно встановити, щоб використовувати smartctl
команду.
Для отримання додаткової інформації читайте цю публікацію на сайті Unix та Linux stackexchange
Є ще один метод, як описано тут . Кожен накопичувач має відповідний каталог у /sys/class/block/
каталозі та за допомогою
cat /sys/class/block/DEVICE_NAME/queue/rotational
ви отримаєте або 1 для жорсткого диска, або 0 для ssd. Цей підхід дуже зручний для використання в сценаріях
Насправді, це, мабуть, той самий підхід, який lsblk
використовується:
$ lsblk -o NAME,ROTA
NAME ROTA
sda 0
└─sda1 0
sdb 1
├─sdb1 1
├─sdb2 1
├─sdb3 1
├─sdb4 1
├─sdb5 1
└─sdb6 1
Простий спосіб визначити, встановлена ваша ОС на SSD чи ні, це запустити команду з вікна терміналу, який називається lsblk -o name,rota
. Подивіться на ROTA
стовпчик виводу і там ви побачите числа. Це 0
означає відсутність швидкості обертання або приводу SSD. A 1
вказуватиме на привід із тарілками, які обертаються. Мій Ubuntu встановлений на моєму /dev/sdb
диску, тому ми можемо побачити, що один вказує a, 0
що означає, що він встановлений на SSD-накопичувачі. Я додаю після цього прикладу того, як сказати, де встановлена ваша ОС df
.
ПРИМІТКА: Ubuntu, встановлений як клієнт або в циклі, або в VM, покаже ROTA 1 незалежно від установки ОС хоста. Також " твердотільні гібридні накопичувачі " та флеш-накопичувачі USB також покажуть ROTA 1.
Приклад:
terrance@terrance-ubuntu:~$ lsblk -o name,rota
NAME ROTA
sda 1
└─sda1 1
sdb 0
├─sdb1 0
├─sdb2 0
└─sdb5 0
sdc 1
└─sdc1 1
sdd 1
└─sdd1 1
sde 0
├─sde1 0
└─sde2 0
sdf 1
└─sdf1 1
sdg 1
└─sdg1 1
sdh 1
└─sdh1 1
sr0 1
sr1 1
Або ви можете зробити перевірку у вигляді одного сценарію вкладок, -d
щоб не показувати розділи:
lsblk -d -o name,rota | awk 'NR>1' | while read CC; do dd=$(echo $CC | awk '{print $2}'); if [ ${dd} -eq 0 ]; then echo $(echo $CC | awk '{print $1}') is a SSD drive; fi; done
Приклад:
terrance@terrance-ubuntu:~$ lsblk -d -o name,rota | awk 'NR>1' | while read CC; do dd=$(echo $CC | awk '{print $2}'); if [ ${dd} -eq 0 ]; then echo $(echo $CC | awk '{print $1}') is a SSD drive; fi; done
sdb is a SSD drive
sde is a SSD drive
Щоб визначити, на якому диску ввімкнено встановлення, запустіть команду df /
з вікна терміналу.
ПРИМІТКА. Накопичувачі, налаштовані на LVM (Logical Volume Management), насправді показують накопичувач як /boot
замість /
.
Приклади:
LVM Drive:
df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/xubuntu--vg-root 243352964 106945028 123976576 47% /
df /boot
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 720368 237220 430756 36% /boot
Диск без ПЗ:
df /
/dev/sdb1 222309012 38264268 172728984 19% /
ОНОВЛЕННЯ: lsblk
також можна використовувати, щоб показати, де встановлена ОС, і якщо диск є SSD все в одній команді:
lsblk -o NAME,MOUNTPOINT,MODEL,ROTA
Приклад:
terrance@terrance-ubuntu:~$ lsblk -o NAME,MOUNTPOINT,MODEL,ROTA
NAME MOUNTPOINT MODEL ROTA
sda Backup+ Desk 1
└─sda1 /media/Seagate 1
sdb WDC WD2500JD-00K 1
└─sdb1 /media/250GB_SHARE 1
sdc WDC WD5000AAKS-4 1
└─sdc1 /media/500GB 1
sdd ST500DM002-1BC14 1
└─sdd1 /media/320GB 1
sde SanDisk SDSSDA24 0
├─sde1 / 0
├─sde2 0
└─sde5 [SWAP] 0
sdf WDC WD5000AAKX-2 1
└─sdf1 /media/WD500GB 1
sdg WDC WD10EZEX-00W 1
└─sdg1 /media/1TB_SHARE 1
sdh SanDisk SDSSDA24 0
├─sdh1 0
└─sdh2 /media/Windows 0
sr0 BD-RE BH16NS40 1
sr1 DVD-RAM GH40L 1
Це після перезавантаження системи, тому позначення моїх дисків знову змінилися, але як ви бачите, мої диски SanDisk - це SSD, а ROTA показує 0.
Сподіваюся, це допомагає!
lsblock
- це мій оптичний привід.
Зрештою, ваше питання насправді не є питанням Ubuntu. У вас жорсткий диск з невеликим, відносно розміру HD, об'ємом флеш-пам’яті. Це управляється автоматично для вас накопичувачем і намагається розмістити файли, які частіше отримують доступ, на флеш-частині, а не на частині HD. Наскільки я знаю, немає ніякого способу контролю або підказки, які файли є на якій частині. Якщо ви регулярно використовуєте Ubuntu, всі важливі файли повинні потрапляти у флеш-частину вашого диска, але це стосується цього.