FAQ Степан Ильин aka Step Xakep, номер #065, стр. 065-146-2 A: Поддержка новомодной технологии от Intel появилась еще в 2.4.17 версии ядра. Первоначально соответствующий модуль был, мягко говоря, сыроват, но сейчас его отшлифовали и довели до ума. Включить Hyper-Threading несложно. Достаточно собрать ядро как SMP и при загрузке задать необходимые параметры: acpismp=force либо append="acpismp=force" А чтобы проверить его работу, набери эту команду: cat /proc/cpuinfo В случае когда среди флагов (flags) присутствует ключевое слово HT, знай – поддержка Hyper-Threading включена. Q: Привет! Я занимаюсь разработкой на Perl`е движка для создания онлайн магазина. Среди предъявленных заказчиком требований фигурирует пункт о реализации экспорта статистики в таблицы формата *.xls (Microsoft Excel). Подскажи алгоритм конвертирования MySQL таблицы в Excel файл. A: #!/usr/local/bin/perl use DBI; $table = "mssql_table"; $db = "msql_base"; $db_serv = "step.msql.server"; $user = "xakep"; $passwd = "parol"; $c = DBI->connect("DBI:mysql:$db:$db_serv", $user, $passwd); $statement = "select count(*) from $table"; $cc = $c->prepare($statement); $ccc = $cc->execute; @row = $cc->fetchrow_array; $n = $row[0]; $statement = "select * from $table"; $cc = $c->prepare($statement); $ccc = $cc->execute; open F, "$ARGV[0]"; for ($i=0; $i<$n; $i++) { @row = $cc->fetchrow_array; print F "$row[0];$row[1];$row[3]\n"; } Принцип работы этого проверенного временем скрипта предельно прост – ты легко с ним разберешься. Для этого достаточно изучить документацию модуля DBI. Хотя я уверен, ты это уже сделал. Для его запуска набери следующее: ./MySQL-Excel.pl output.xls, где output.xls – выходной Excel`евский файл. Q: Намедни решил заняться изучением *nix-систем (похвально, не правда ли?), но уже появилось немало «непоняток». Что, например, обозначают параметры напротив каждого из процессов, данные о которых получены командой «ps –aux»? A: < - процесс находится в приоритетном режиме; L - real-time процесс, часть данных находятся в памяти; N - процесс имеет низкий приоритет; R – процесс, выполняемый в настоящее время; S - процесс «спит»; Z – процесс, не имеющий родителя; T - процесс остановлен; W - процесс находится в свопе; Получить более подробную информацию можно, набрав команду «man ps». Q: Недавно купил себе Seagate Barracuda на 120 Гб и серьезно задумался о его рабочей температуре. Скажи, 41 градус по Цельсию – это нормально? Раньше с такими быстрыми и большими винтами дела не имел и сейчас немного волнуюсь ;). A: Для начала попробуем определиться, как именно ты получил цифру 41. С потолка? Не обижайся, но пора бы уже усвоить, что у одного и того же девайса температура может варьироваться в очень широких пределах. И винчестер – отнюдь не исключение. Наибольший интерес для нас представляет его состояние в момент максимальной загрузки, когда винт нагревается до предела. Запусти копировать пяток фильмов, после чего посмотри на результат «термометра». Вообще говоря, нормы как таковые никто не устанавливал, тем не менее, считается, что рабочая температура носителя не должна превышать 45 C. Так, например, по заявлению производителей Western Digital, при 45 градусах по Цельсию надежность их продукции увеличивается в два раза по сравнению с отметкой в 55 C. Так что если ты в этот предел не попадаешь, сделай соответствующие выводы и займись-таки охлаждением. Впрочем, последнее не помешает в любом случае – ведь летний сезон уже не за горами. А у меня, к примеру, прошлым летом домашняя Барракуда нагревалась до 51 C. Причем это безобразие продолжалось до тех пор, пока я не поставил винт в охлаждающую систему с тремя вентиляторами. Все удовольствие обошлось в десять долларов, зато температура снизилась на 10-12 пунктов. Шума, правда, стало чуть больше, но это так – мелочи. Мне не привыкать. |