Как в питоне отлавливать утечки памяти?
Доброго времени суток
Сабж. Скрипт за 3..4 дня работы отжирается до oom killer'а.
Возможно ли снять кору и посмотреть, какие объекты она содержит?
Доброго времени суток
Сабж. Скрипт за 3..4 дня работы отжирается до oom killer'а.
Возможно ли снять кору и посмотреть, какие объекты она содержит?
Доброго времени суток. Сабж
http://www.federalspace.ru/21930/
трансляция. «Source for IPhone/IPad» отлично открывается в VLC
Доброго времени суток
Сабж. firefox прекратил работать с SSLv3 сайтами. Вообще, без возможности разрешить или добавить исключение. Очевидно, что авторы заботятся о простых пользователях, которых ежедневно обманывают злобные хакеры. Но как быть людям, которые по служебной необходимости должны работать с старым железом, которое TLS не умеет в принципе?
Остался ли ещё браузер, разработчики которого не считают себя умнее пользователя? Пока скачал старую версию seamonkey и запретил ей проверять обновления
Доброго времени суток
Сабж. Что лучше из reprap'ов - mendel или prusa? Или уже появились другие открытые проекты?
update. судя по тому, что я прочитал, prusa - потомок mendel. prusa проще в сборке и наладке, больше область печати. Но при этом на mendel можно напечатать гораздо больший процент деталей к самому mendel
Доброго времени суток
Требуется ли подписка redhat для использования коллекций с https://www.softwarecollections.org/en/ ?
Если нет, то зачем rhel и centos часть scl тащат в свои репозитории?
Доброго времени суток
Сабж. Интересуют именно хауту, документации и ликбезы
Мопед не мой, в ближайшее время постараюсь пинками загнать сюда планшетовладельца
Доброго времени суток
Сабж. Из fdupes давно убрали замену найденных дублей на хардлинки
Есть небольшая файлопомойка, хочется разгрести место для новых дистрибутивов :) Велосипед-обёртку над fdupes на perl в принципе написать могу, но это долго и чревато потерей данных при ошибке.
Доброго времени суток.
Есть результат запуска fio ( libaio, рандомное чтение, блок 4k, queue depth 32, process count 4 ) и одновременно сбор данных через
( date; iostat -x 2 ) > iostat.logfio выдал
При этом iostat в это же время показывает
svctm хорошо сходится с iops ( 4 fc пути, нагрузка раскидывается равномерно, и это подтверждается графиками await(t), kbps(t) для отдельных путей ), поэтому
$ echo '1/(29548/4) ' | bc -l
.00013537295248409367Но. судя по исходникам sysstat, svctm - синтетика, вычисляется исходя из загрузки диска, числа выполненных запросов и интервала измерения )
Потребитель видит 4.3 мс, это понятно. Но при этом может быть 4.16 мс запрос в ядре, потом один запрос улетает в fc и возвращается за 0.14 мс . А может быть и наоборот, в ядре время почти не тратится, пачка запросов улетает в fc и каждый в среднем выполняется 4.3, но выполняются одновременно.
Вопрос, возможно ли как-то оценить время, которое запрос ждёт в ядре?
Возможно ли снять статистику не с дисков, а с HBA?
Доброго времени суток.
Есть несколько файлов, в каждом - данные отдельного теста, список прочитанных блоков HDD
Нужно посчитать кратность чтения. Т.е. суммарно по всем тестам было прочитано X блоков, из них 1 раз N_1 блоков, 2 раза N_2 блоков и т.д. Всего прочитано Y уникальных блоков ( Y = sum N_i по всем i )
Всего уникальных номеров блоков допустим 100M ( объём тестового диска / размер блока ). Поэтому первая же идея - загнать всё в ассоциативный массив { номер_блока -> количество чтений } - оказалось неудачной, требуется слишком много памяти.
Есть идеи?
Доброго времени суток
Тема время от времени вплывает, и вроде даже читал что у кого-то получилось, но найти не смог
Сабж. scp/sftp даже с "-o Ciphers=arcfour -o Compression=no" показывают скорость копирования 40 MB/s на гигабитном канале, упираясь в одно ядро. ftp на том же канале использует весь гигабит. Но мне не нравится идея ставить ftp сервер на кучу хостов.
Возможно ли без особых извращений отключить шифрование для передачи файлов в стандартном openssh?
Доброго времени суток
Сабж
Сразу уточню, моральный облик пользователей меня не интересует ( от слова «вообще» ). Что нужно, так это поиск активности, которая характерна для вирусов, червей и прочих зловредов. Т.е. IDS. Также интересно, если можно задать профиль устройства и искать отклонения ( вот это - принтер, ему веб без надобности. а это телевизор, для него характерен только ютуб )
Для сетевого трафика есть snort. Но хотелось бы что-то подобное для squid
Доброго времени
Сабж. Первый подход к гуглу дал pprint. Он удобен для словарей, но абсолютно бесполезен для объектов
Perl:
use Data::Dumper;
use WWW::Mechanize;
my $browser = WWW::Mechanize->new();
printf "%s\n", Dumper($browser);$VAR1 = bless( {
'headers' => {},
'ssl_opts' => {
'verify_hostname' => 1
},
'forms' => undef,
[...]
'cookie_jar' => bless( {
'COOKIES' => {}
}, 'HTTP::Cookies' ),
'proxy' => {},
'max_size' => undef
}, 'WWW::Mechanize' );
Python:
import pprint
import mechanize
browser = mechanize.Browser()
pprint.pprint(browser)вывод:
<mechanize._mechanize.Browser instance at 0x15e7c20>Допустим, я понимаю почему так происходит. В perl ООП сделан через одно место. self, в котором хранятся поля класса - по сути обычная структура данных. Как правило - хэш ( в терминах Python - словарь ). Плюс области видимости позволяют при необходимости залезть и вытащить что угодно. А в Python практически всё - объект. И у объекта определён метод __str__, который приводит его к строке. И если автор класса об этом не подумал, __str__ даст бесполезный текст «блаблабла instance at адрес»
Второй подход к гуглу дал vars(), dirs(), которые вполне годятся для нормального дампа:
pprint.pprint( vars( browser ) )вывод:
{'_any_request': {},
'_any_response': {},
'_client_cert_manager': <mechanize._auth.HTTPSClientCertMgr instance at 0x1807758>,
'_factory': <mechanize._html.DefaultFactory instance at 0x17a2f38>,
'_handle_referer': True,
'_handler_index_valid': False,
[...]
'request': None,
'request_class': <class mechanize._request.Request at 0x165fef0>}Именно то, что нужно, поля и их значения. Но в дампе опять видим издевательские «instance at». Если хочется идти глубже - нужно вручную их дампить через vars. Наверняка можно пройти по вложенным объектам, пусть даже рекурсивно, и сделать как perl.
Вопрос, есть ли в python готовый модуль, в котором это уже сделано, т.е. модуль, который является полноценной заменой перловому Data::Dumper ?
Доброго времени суток
Сабж. До сих пор мои скрипты работали ограниченное время, а теперь появилась необходимость выполнения скрипта в течение нескольких часов или даже дней. Поэтому хочу написать что-то интерактивное ( но по-прежнему консольное ), чьим процессом выполнения может управлять пользователь.
Думаю сделать так:
Норм? Или есть best practice / pattern, больше подходящий для данной задачи?
Update. Всем спасибо, остановился на варианте с отдельным потоком
Доброго времени суток
Сабж. Штатной возможности похоже нет.
Пытаюсь сделать через mod_security по аналогии с rate limit:
############################################################################
# modsecurity
############################################################################
SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/cache/modsecurity/audit.log
SecDebugLog /var/cache/modsecurity/debug.log
SecDebugLogLevel 9
SecAction id:'12341',phase:1,initcol:ip=%{REMOTE_ADDR},pass,nolog
SecAction "id:'12342',phase:5,setvar:ip.somepathcounter=-1,pass,nolog"
SecRule IP:SOMEPATHCOUNTER "@gt 2" "id:'12343',phase:2,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog"
SecAction "id:'12344',phase:2,pass,setvar:ip.somepathcounter=+1,nolog"
Header always set Retry-After "10" env=RATELIMITED
############################################################################
Перезапускаю апач, проверяю через apache benchmark с другого хоста:
~$ ab -c 50 -n 150 <URL>
[...]
Concurrency Level: 50
Time taken for tests: 5.256 seconds
Complete requests: 150
Failed requests: 0
Write errors: 0
[...]
В логе apache тоже нет 509 кода, только 200. В /var/cache/modsecurity/debug.log видно, что счётчик ip.somepathcounter не превышает 1:
# grep -i somepathcounter /var/cache/modsecurity/debug.log | grep Relative | cut -d ' ' -f 4- | sort | uniq -c
26 Relative change: somepathcounter=0-1
150 Relative change: somepathcounter=0+1
150 Relative change: somepathcounter=1-1
Сижу и пытаюсь понять, где я ошибся
update. nginx не предлагайте, сейчас у меня цель - научиться ограничивать запросы в самом apache
Доброго времени суток
Сабж. В моих G35 фейковый 7.1, большая часть из которого переложена на проприетарный драйвер. К наушникам идёт обработанное стерео. Но блин, при этом в l4d/l4d2 реально слышно направление. А под linux logitech этот драйвер не портировали. Именно g35 гвоздями прибили мой игровой комп к винде :\
Так вот, есть ли многоканальные ( 5.1, 7.1 ) наушники, которые будут работать с pulseaudio в многоканальном же режиме?
Колонки не предлагать, соседи по подъезду линчуют.
Доброго времени суток.
Сабж. На форуме crucial случайно наткнулся на команду
smartctl -l devstat $ssd_device# smartctl -l devstat /dev/sdd
[...]
7 ===== = = == Solid State Device Statistics (rev 1) ==
7 0x008 1 6~ Percentage Used Endurance Indicator
|_ ~ normalized value
Да это ж способ узнать износ ssd в этом нашем linux'е! Единственный [теперь] известный мне способ. Как ни странно, поиск по лор'у ничего не находит. Даже в вики арча этого нет
Может кто-нибудь знает, как получить информацию о работе trim? Не просто lsblk -D, а даные контроллера по количеству свободных секторов.
Доброго времени суток
Я похоже старый идиот и слишком привязался к xmpp. Но сегодня увидел похожую точку зрения и подумал, наверняка ещё кого-нибудь тошнит от бесконечного клонирования всяких виберо-ватсапо-хангауто-мейло-телеграмо-фигни. Потому что контакты разбежались кто куда и предлагают ставить сотни IM клиентов для общения.
Люто, бешено хочется найти ПО, которое бы через API работало с локально установленными клиентами всяких вибро-мейло-ханго-ватсапов, отдавая пользователю единую морду. В идеале клиент-серверное. Смело поставить зоопарк IM в виртуалку, и пусть они тырят друг у друга логи, не касаясь основной системы.
Но блин понимаю, что написание такого ПО с нуля на голову выше моих возможностей. Если есть готовые проекты на чём-нибудь высокоуровневом ( perl, python, ruby ), готов вписаться в разработку. Даже жабу выучить. Потому что уже реально задрало
----------
Субъективный взгляд на историю, может что пропустил:
Сначала были irc для хакиров и icq для всех остальных. И это было круто общаться с знакомыми и незнакомыми через интернет.
Потом пришёл xmpp как универсальная замена, а для совместимости сделаны транспорты для других протоколов. И это было ещё круче, один универсальный клиент. А сервер можно было поставить свой. Социальные сети давали свой xmpp сервер для домашних пользователей ( которым было пофиг чем пользоваться), всё было прекрасно.
Потом что-то произошло, похоже корпорациям надоело что клиенты пользуются не их продуктом и логи стекаются к другим корпорациям. Обратную совместимость с xmpp начали убирать, делая свой клиент банально огороженным.
Не знаю, первым ли начал гугл или нет, но для меня именно гугл своим хенгаутом похоронил xmpp. Контакты разбежались кто куда - скайп, вибер, vk и т.д.
Так вот. Нет ли у кого-нибудь ещё ощущения, что пора ещё раз запилить универсальный IM с транспортами для hangout, viber, skype и т.д.?
update
Если есть готовые проекты на чём-нибудь высокоуровневом ( perl, python, ruby ), готов вписаться в разработку
Прошу прощения, переоценил свои возможности. Спасибо человеку, который предложил присоединиться к разработке, но моих знаний python явно недостаточно.
| ← назад |