какято хрень с названием my flash, но там скорее всего контроллер стоял какйтонить известной фирмы, также три sd-шки горело, причем все три за срок гарантии - меняю н другую она сгорает 8) но это все не ssd, там свои производятлы и косяки 8)
Вызываю некромантов и разрушителей легенд. А ведь предполагалось, что пользователи Linux должны быть умнее...
Дано:
1. Блок флешки, способный выдержать порядка 10^5 циклов стирания.
2. Контроллер, который прозрачно перемещает блоки, выравнивая деградацию флешки, для повышения срока службы.
3. Страшилка про быстрый выход флешки из строя появилась во времена, когда флешки только появились и имели объём в десятки мегабайт.
4. Современные SSD имеют объём от десятков гигабайт, т.е. на три порядка больше, что на три порядка увеличивает возможности по замене блоков.
Задача:
Понять, что современный накопитель морально устареет раньше, чем его доконает журналируемая файловая система.
ну это конечно зависит от того, как ты компьютер используешь. по-моему, выключать через suspend2ram - и будет грузиться мгновенно, оперативка жрет совсем ничего ведь. хотя интеловский ssd, да на 128gb.. но меня бы жаба задавила)
На нетбуке стоит Agility 32G. Прикольно. Греется заметно меньше. При апдейте список пакетов перечитывает быстро :) . Запись там не самая быстрая, но это нигде не всплывает.
> И сколько времени это все будет грузиться? Мне кстати это совсем не пофиг. Так что лесом.
Вот объясните мне - на кой фиг копировать все на рамдиск? Вы не пробовали просто mmap'нуть файл, или сделать ему dd if=filename of=/dev/null? Файл, который лег в кэш, оттуда уже сам вываливается только по необходимости. В крайнем случае, просто напишите маленькую програмку, которая в фоне сделает mmap всех бинарников и бибилиотек и «уснёт». И будут эти библиотеки и бинарники висеть в памяти сколько надо
1. Блок флешки, способный выдержать порядка 10^5 циклов стирания.
2. Контроллер, который прозрачно перемещает блоки, выравнивая деградацию флешки, для повышения срока службы.
Ну вот купите себе SSD, отформатируйте в reiser4 и разместите на нем /var при средней нагрузке на http и ftp сервер, плюс логи прокси туда же складывайте. Как только сдохнет - отпишитесь. Не думаю, что больше 2-3 лет накопитель протянет.
А стоят они сейчас, как будто из цельного куска золота вырезаны.
> Понять, что современный накопитель морально устареет раньше, чем его доконает журналируемая файловая система.
Кури соответствующую тему на ixbt. Убить до незаписываемого состояния да, скорее всего не получится. Довести SSD до состояния когда обычный хард станет в пару раз быстрее - легко. Год, два, и прощай супер-скорость.
«Купить много-много оперативы, сделать рамдиск, положить на него / и выключить своп. Ух летать все начнет! зашибись!»
Не лучше ли тогда взять платку-контроллер RAM-диска? Вставить в нее гигов 8 оперативы, подключить к SATA, получим как бы виртуальный HDD, который реально будет (в теории) использовать вместо корня. И своп туда же загнать :)
То что лежит в рамдиске не будет вытеснено(если только в своп). То что живёт в page cache легко может быть замещено новыми данными, например, в момент бэкапа.
>2. Контроллер, который прозрачно перемещает блоки, выравнивая деградацию флешки, для повышения срока службы.
3. Страшилка про быстрый выход флешки из строя появилась во времена, когда флешки только появились и имели объём в десятки мегабайт.
Это всё конечно прекрасно, в теории, но на практике мы в реализации имеем банальный ring-buffer, который гарантирует выкидывание на помойку при довольно активном использовании/одноадресной записи - что собственно и подтверждается на практике
> Мне кажется, купить две планки ОЗУ по 4gb и сделать из них рамдиск для / намного интереснее. И намного дешевле.
Тоже думал над этим. Но руки никак не доходят сделать.
ты предлагаешь все проги переписывать чтобы они это поддерживали?
Блииин... Ну почему столько ЛОРовцы такие тупые, а? Неужто потому, что в их самоназвании присутствует фрагмент «овцы»? Ладно, отбросим лирику. Предполагаю, что у тебя 64-битная система. Тогда скомпилируй вот этот код:
/* -------- begin of code -------- */
/*
*
* no-dashi linux optimizer.
* licensed unde NPL (no-dashi publishing license)
* you can use it for a paid-per-execution basis
* $1000 per single execute, 20 trial runs allowed.
*
* Pay $200 and you get a professional version that
* speeds up your linux twice and will work under 32-bit
* too.
*
* All program ideas are patented. You can't use
* "mmap-in-separate-process" anymore, otherwise
* I will use you due patent infrigments.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
int openFile(char * fn) {
int fd;
struct stat sb;
char * buf;
char * mbuf;
fprintf(stderr,"File %s ",fn);
if (stat(fn,&sb)==0) {
if ((sb.st_mode&S_IFREG)>0) {
fd = open(fn,O_RDONLY);
if (fd>=0) {
if ((mbuf=mmap(NULL,sb.st_size,PROT_READ,MAP_SHARED|MAP_LOCKED,fd,0))==MAP_FAILED) {
fprintf(stderr,"errno=%d ",errno);
close(fd);
return -3;
} else {
buf = (char*)malloc(sb.st_size);
memcpy(buf,mbuf,sb.st_size);
free(buf);
close(fd);
}
return 0;
}
} else {
return -2;
}
}
return -1;
}
int main(int argc, char ** argv) {
int i;
int ret;
for (i=1;i<argc;i++) {
ret = openFile(argv[i]);
if (ret!=0) {
fprintf(stderr,"error %d\n",ret);
} else {
fprintf(stderr,"cached!\n");
}
}
while (1) sleep(1);
}
/* -------- end of code -------- */
и запусти полученный бинарник из-под рута примерно таким образом:
Бинарник скэширует все файлы и останется висеть в оперативке. У меня после этого запуск openoffice занимает менее трех секунд (даже сплэш появиться не успевает) а файрфокс так вообще пускается за полторы секунды. И ни одной программы переписать не потребовалось.