LINUX.ORG.RU

Сообщения ksicom

 

Скорость чтения

Форум — Development

А есть ли на современном оборудовании (SATA диск) и в современном linuxе (2.6.9) разница в скорости чтения данных в следующих 2х вариантах программы? Строчки, принадлежащие разным вариантам соответственно помечены цифрой в скобках.

#include <stdio.h>
int main ()
{
int x;
int xx [100000];
int i, z;
FILE *f;

f = fopen ("test6.dat", "r");
for (z = 1; z <= 200; z++)

(1) for (i = 1; i <= 800000; i++)
(2) for (i = 1; i <= 8; i++)
(1) fread (x, sizeof (x), 1, f);
(2) fread (xx, sizeof (xx), 1, f);

fclose (f);
return 0;
}

По моим проверкам
date +%s && ./test6 && date +%s;
ощутимой разницы не наблюдается.
Т. е. получается на уровне программы уровня пользователя не стоит заморачиваться с чтением данных большими "блоками" для увеличения скорости, а можно просто читать по одному значению?

>>>

ksicom
()

Анонимные p2p сети

Форум — Talks

Всвязи с последними темами о новом законе про права на аудио/видео попкорн интересно узнать, кто имел опыт общения с анонимными p2p сетями (freenet, entropy, ???) и что могут сказать интересного? Чем они друг от друга отличаются и что в них интересного есть?

>>>

ksicom
()

Как сделать «дырку» в файле?

Форум — Development

На ext2/3 можно использовать lseek, чтобы делать дырку в файле. Открываем файл на запись переходим за конец файла пишем, закрываем. ls -lh; df -h; Радуемся.

А вот можно ли сделать дырку внутри файла? Например внутри файла данные больше не нужны (гигабайта эдак два данных). Можно как-нибудь сказать ФС, что это место файла больше не нужно и его можно использовать под другие файлы?

Естественно не из под рута.

>>>

ksicom
()

Добавление файла в большой архив tarом

Форум — Development

Есть вот такой скрипт
Размер фвйла file.test ~ 1.2 Mb


#! /bin/sh

tar -cf test.tar file.test

date +%s

for i in `seq 1 100000`; do
cp file.test "file.$i"
tar -rf test.tar "file.$i"
rm "file.$i"
done

date +%s

Примерно на 600ом файле операция добавления файла в конец архива становится очень долгой. Причём скорость добавления файла падает пропорционально i. Пробовал на разный ФС (ext3, jfs, xfs). В чём может быть дело и как с этим бороться?

Мне (субъективно) кажется, что проблема с seekом в конец файла.

Может при создании ФС ключик какой надо или с tarом можно как-нибудь исхитриться?

>>>

ksicom
()

Боян? (флэш)

Форум — Talks

Так как всё боян, это наверное тоже. По ссылке флэш.
http://producten.hema.nl/

>>>

ksicom
()

Знатокам английского языка

Форум — Talks

А какая разница между словами:
dependence и dependency ?
И какое правильнее применять при описании бибилотек, от которых зависит данная программа?

>>>

ksicom
()

gcc struct + ifort common как побороть выравнивание?

Форум — Development

Есть COMMON блок на фортране, в котором смешаны REAL и INTEGER поля.
Его надо заполнить данными из функции на C.
Как согласовать выравнивания структур с учётом того, что фортрановский фрагмент компилируется интеловским компилятором, а Cшный - gcc.

#pragma pack (1) не помогает :(

ksicom
()

Вопрос по файловым системам.

Форум — Development

Есть данные (~2Tb/год). Данные хранятся в хранилище (машина, в которую регулярно добавляются жёсткие диски)

Единица данных, которую можно конкретизировать вручную и с которой есть смысл работать имеет размер ~100Gb.

Данные представляют из себя набор переменных, меняющихся во времени.
Всего ~100000 переменных. Хранятся данные в виде: (время, значение). Соответственно новое значение пишется только в случае, если произошло его изменение (так называемая запись с апертурами).

Надо реализовать:
1) Функцию, возвращающую значение переменной на конретном временном интервале.
2) Функцию, возвращающую все 100000 переменных на конкретный момент времени.

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

Также могут создаваться новые единицы данных на основе старых. Т. е.:
за базу берём данные за время с a по b, но переменную X задаём вот такую.

Т. е. требуется реализовать что-то вроде версионного контроля.

Идеи по реализации:
1) Всё это складировать в огромные файлы и во всю по ним прыгать.
2) заморачиваться с СУБД.
2) (Нравится больше) Реализовать всё это дело в файловой системе.
Т. е. каждая переменная - отдельный файл. Более высокие уровни иерархии - каталоги.

Возникают конкретные вопросы по третьему варианту:
1) Какую ФС лучше взять за основу (ext3 или jfs например)
2) Есть ли в ФС какие-нибудь механизмы, позволяющие индексировать имена файлов для быстрого открытия? В идеале функция, которая открывает файл не по имени, а по иноду? Индексацию запускать например вручную, а результат хранить в файле.
3) как лучше: открывать сразу много файлов на чтение или по очереди или есть какая-то золотая середина?

ksicom
()

А существуют ли CMS, написанные не на PHP?

Форум — Talks

А на C к примеру....
Или ещё каком-нмбудь компилируемом языке программирования?
И если кто сталкивался, расскажите.

Просто интересно :)

ksicom
()

Как ускорить ImageMagick?

Форум — General

ImageMagick рисует сложную картинку. Делается это с помощью длинющего скрипта:

convert x.png -draw ... x.png
convert x.png -draw ... x.png
convert x.png -draw ... x.png
convert x.png -draw ... x.png

Получается очень медленно.
Можно как-нибудь ускорить процесс: может можно как-нибудь общий скрипт написать, чтобы convert один раз запускать (просто в строку если перечислять все draw, не хватает длины командной строки)? Или может у IM есть какой-нибудь формат специальный, с которым он быстро работает?

ksicom
()

Что это может быть? Непонятки с ext3/bind

Форум — Security

На сервере каждую ночь создаётся дамп с корневого каталога. (через снапшоты LVM).

С недавних пор стали появляться вот такие строки в логе ядра во время создания снапшота:

kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-4, internal journal
ext3_orphan_cleanup: deleting unreferenced inode 887773
ext3_orphan_cleanup: deleting unreferenced inode 1129929
ext3_orphan_cleanup: deleting unreferenced inode 1129928
ext3_orphan_cleanup: deleting unreferenced inode 887794
ext3_orphan_cleanup: deleting unreferenced inode 887538
ext3_orphan_cleanup: deleting unreferenced inode 889471
EXT3-fs: dm-4: 6 orphan inodes deleted
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev dm-4, type ext3), uses xattr

вот такое выдаёт find . -inum 887773 :
find: ./var/named/chroot/proc/2412/task/2412/fd/4: No such file or directory
find: ./proc/2412/task/2412/fd/4: No such file or directory
на все остальные inode тоже самое, меняется только номер процесса.

на сервере работает bind-9. Работает вроде нормально.
Таких файлов действительно не существует.
Что это может быть?

Сервер, bind перегружать не пробовал, так как под нагрузкой и вообще... решил сначала спросить.
ОС: CentOS4.4

ksicom
()

Посоветуйте конфигурацию компьютера под Linux.

Форум — Linux-hardware

Нужна конфигурация до 700$ (только системный блок)
Основные задачи, возлагаемые на комп:
Физические расчёты, офис с кучей графики и формул, локальное хранилище данных, ну и всякие firefox, thunderbird и всё остальное.

ОС скорее всего CentOS4.

Не посоветуете, какую мать, проц брать. Особенно мать интересует, чтобы контроллер SATA сразу завёлся (причём чтобы всякие псевдорейды не мешались), сетевуха аки marvell не глючила, видюха (наверное встроенная) работала и т. д.

ksicom
()

Помогите составить красивый простой демонстрационный пример.

Форум — Talks

Завтра (сегодня уже) лекцию читать по Linux (самые-самые начала: история, преимущества, основные особенности с коротенькой демонстрацией), а никак не придумывается какой-нибудь простенький демонстрационный пример на использование самых простых программ: touch, echo, ls, cat, mkdir, mv, cp, grep, tar, gzip, find ну и пожалуй всё. Ну и механизмы типа перенаправления I/O и конвейеров.

Можно конечно в классическом виде: команда x предназначена для y и у неё есть параметры z.

Но хочется как-нибудь поинтересней. Что-нибудь типа:
"Предположим к нам поступили данные от некоторой программы в совсем неудобном виде: ... и нам их надо представить в ..., а потом подмонтировать флэшку и созданный архив унести домой, который дома можно будет распаковать и поместить в ..., а на флэшке потереть". Для этого: и дальше собственно демонстрация с комментариями.

И вот как-то никак так чтобы красиво, фиг под офтопиком повторишь и при этом без кучи параметром, скриптов и головоломок.
В общем надо что-то наглядное, простенько и со вкусом.

Помогите придумать ну или ссылок накидайте.

P.S. Стандартные книжные примеры типа "отфильтровать IP регулярными выражениями" не подходят. Множество данных и задача должны быть общедоступными и наглядными, но при этом не "однодействовыми".

ksicom
()

Посоветуйте простой движок БД для работы с текстовыми файлами.

Форум — General

Есть куча текстовых таблиц. Обычные текстовые файлы из нескольких столбцов. Примерно по 100000 строк в каждой таблице.

Надо решить задачу по обработке этих данных. Необходимо делать select из нескольких таблиц.

С задачей в принципе справится может awk. Но придётся писать достаточно приличный скрипт.

С полноценной БД типа MySQL, Postgress и т. д. заморачиваться не хочется.

Посоветуйте какой-нибудь простой движок, работающий с текстовыми базами данных. Желательно (но не обязательно) с SQL.

ksicom
()

Помогите проверить пару строчек для cronа.

Форум — General

Надо реализовать расписание для автоматического backupа ФС.
Расписание такое:
Раз в два месяца снимать dump 0.
Раз в неделю снимать dump 3
Раз в день снимать dump 9.

Помогите проверить, соответствует ли написанное словами правилам для крона?

# BACKUP
# Каждую первую субботу каждого второго месяца создавать дамп нулевого уровня.
00 05 1-7 1,3,5,7,9,11 6 /usr/local/adm/autobackup/dump0.sh
# Каждую субботу кроме первой субботы каждого второго месяца создавать дамп третьего уровня.
00 05 1-7 2,4,6,8,10,12 6 /usr/local/adm/autobackup/dump3.sh
00 05 8-31 * 6 /usr/local/adm/autobackup/dump3.sh
# В остальные дни создавать дамп девятого уровня.
00 05 * * 0-5 /usr/local/adm/autobackup/dump9.sh

ksicom
()

fluxbox как уменьшить ширину часов?

Форум — Desktop

Как во fluxbox принудительно (не меняя шрифта) уменьшить ширину места, выделяемого под часы? А то поля слишком большие слева и справа.

ksicom
()

Как правильно отключать USB жёсткий диск?

Форум — Linux-hardware

На жёстком диске ФС ext3.
Достаточно:
sync
umount /dev/sda1

или надо ещё что-то делать перед тем, как вытаскивать провод из USB разъёма?

ksicom
()

gaim как поставить напоминание о дне рождения?

Форум — Desktop

Как gaim заставить напоминать о приближающихся днях рождения?

ksicom
()

Реклама мелкомягких на opennet.ru!

Форум — Talks

Не пойму, то ли меня глючит, то ли на opennet.ru прямо на главной странице реклама microsoftа! Справа, сверху.

ksicom
()

Помогите выбрать SATA PCI-E контроллер.

Форум — Linux-hardware

Нужен SATA контроллер обязательно PCI-E (PCI слоты закончились :) ).

Вот приглянулся st-lab A340 (SiS 3132). Кто-нибудь знает, будет под линуксом работать (2.6.9 RHEL) ?
И может ли эта штуковина без всяких псевдоRAID работать, т. е. как обычный контроллер?

Или посоветуйте ещё какой-нибудь.

ksicom
()

RSS подписка на новые темы