( find jpg_renamed/ -name '*.jpg' | xargs -L1 identify -format "%[fx:w*h] %d/%f\n" | awk '$1 < 100000 { print $2 }' > to_delete.txt ) 2> errors.txt
Если неопознанные как графика файлы не нужны, можно обойтись только тем что в скобках
]]>Процесс оптимальной настройки Mysql состоит из двух частей — первоначальная настройка и корректировка параметров во время работы. Корректировка параметров в рабочем режиме во многом зависит от специфики Вашей системы и ее мониторинга — тут особых правил не существует. Для стартовой настройки есть ряд рекомендаций.
Откройте файл настроек mysql, например:
sudo nano /etc/mysql/my.cnf
Самые распространенные параметры, которые следует подстроить под нужды Вашего проекта и конфигурацию железа приведены ниже.
Если Вы используете только MyIsam таблицы, устанавливайте это значение в 30%…40% всей доступной оперативной памяти на сервере. MyIsam использует кеш операционной системы для данных, поэтому учтите, что оставшаяся свободная память понадобится именно для этого. Если же MyIsam таблиц у Вас немного и их совокупный размер маленький — оставьте это значение в пределах 32M.
Если Вы используете только InnoDB таблицы, устанавливайте это значение максимально возможным для Вашей системы. Буфер InnoDB кэширует и данные и индексы (а кеш операционной системы не используется), поэтому значение этого ключа стоит устанавливать в 70%…80% доступной памяти.
Если Ваш сервер работает на Линуксе или Юниксе, не забудьте установить параметр innodb_flush_method в значение “O_DIRECT”, чтобы избежать избыточного кеширования на уровне ОС.
Обратите внимание на этот параметр, если у Вас предусматривается большой показатель записей. Чем больше размер этого ключа, тем более эффективно будет происходить запись данных. Но учтите, что при этом увеличится время восстановления системы! Этот параметр обычно устанавливают в 64M-512M.
Этот параметр в значительной степени влияет на скорость работы (записи) innoDB таблиц. Значение “1” означает, что любая завершенная транзакция будет синхронно сбрасывать лог на диск. Значение “2” делает то же самое, только сбрасывает лог не на диск, а в кеш операционной системы. Это значение подойдет в большинстве случаев, т.к. не выполняет дорогой операции записи после каждой транзакции. При этом лог пишется на диск с задержкой в несколько секунд, что весьма безопасно с точки зрения сохранности данных. Значение “0” даст наибольшую производительность. В этом случае буфер будет сбрасывать в лог файл независимо от транзакций. Устанавливайте этот параметр в “0” на свой риск, т.к. в этом случае риск потери данных возрастает.
Этот ключ определяет память, выделяемую для хранения открытых таблиц. Если у Вас несколько сотен таблиц, устанавливайте это значение в 1024. Если же у Вас огромное количество соединений, увеличивайте постепенно это значение, т.к. для каждого соединения храниться отдельная запись.
Этот параметр помогает избежать операций создания/уничтожения потоков при соединении к серверу. Установите этот параметр в 16 и наращивайте по мере потребности. Проверяйте показатель “Threads_created”, идеально он должен быть равным нулю:
mysql> show status like 'threads_created'; +-----------------+--------+ | Variable_name | Value | +-----------------+--------+ | Threads_created | 423312 | +-----------------+--------+
Значение этого параметра определяет сколько памяти стоит использовать под кеш запросов. Не увлекайтесь установкой огромных значений. Кеш запросов не должен быть большим, т.к. mysql будет съедать ресурсы на управление данными в кеше. Начните с 32М…128М, и увеличивайте по мере необходимости.
Никогда не работайте с настройками по умолчанию. Это приведет к неиспользованию большинства ресурсов сервера. Правильная настройка MySQL может повысить производительность базы данных в несколько раз. Это позволит не только ускорить работу приложения но и справиться с большой нагрузкой.
]]>Раньше не приходилось задаваться таким вопросом, но вот свершилось. И я прям немного застрял с поиском названия платформы виртуализации на наших облачных серверах. Поэтому, вот памятка для себя.
Linux:
dmesg | grep -i hypervisor
Windows:
systeminfo | findstr /i model
[:]
]]>Погуглив тему, я узнал что не все йогурты одинаково полезны способы работают с моим тачпадом, но точно работает вот этот:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech M705 id=10 [slave pointer (2)] ⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)] ⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)] ↳ Dell WMI hotkeys id=16 [slave keyboard (3)] $ xinput disable 12 $ xinput disable 13
Методом тыка, я нашёл необходимые мне устройства и отключил их.
Самое время поставить находку в более удобное для использования место, а также заставить его выключаться и включаться. Создаю файл /usr/bin/touch-toggle
с содержимым:
#!/bin/sh # This shell script is PUBLIC DOMAIN. You may do whatever you want with it. TOGGLE=$HOME/.touch-toggle if [ ! -e $TOGGLE ]; then touch $TOGGLE xinput disable 12 xinput disable 13 notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen" else rm $TOGGLE xinput enable 12 xinput enable 13 notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen" fi
Установив на него права исполняемого файла, можно убедиться что всё работает.
$ sudo chmod a+x /usr/bin/touch-toggle $ touch-toggle
В настройках клавиатуры System settings / Keyboard settings / Shortcuts добавлю новую комбинацию с названием “Touch Toggle” и командой touch-toggle
.
С возможностью включить и выключить тач устройства, работать на лаптопе стало намного приятнее.[:en]There was ability to turn off touchpad, that disturbs me sometimes when i am typing on Dell Lattitude notebook. It was simple combination of Fn key with one of numeric. Authors of Dell Inspiron 13 7000 forgot to implement it. Additionnaly, now we have touch screen that client always tries to touch while point me something on screen. Anyways, i want to disable that features sometimes, and i want to make it in Ubuntu.
Googling this sublect gave me few commands. Not all of them works on my notebook, here is what is works:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech M705 id=10 [slave pointer (2)] ⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)] ⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)] ↳ Dell WMI hotkeys id=16 [slave keyboard (3)] $ xinput disable 12 $ xinput disable 13
Thsis is how i found necessary devide and turned it off.
It’s time now to put it to a better place, make usable and allow toggle between on/off. Let’s create script /usr/bin/touch-toggle
with contents:
#!/bin/sh # This shell script is PUBLIC DOMAIN. You may do whatever you want with it. TOGGLE=$HOME/.touch-toggle if [ ! -e $TOGGLE ]; then touch $TOGGLE xinput disable 12 xinput disable 13 notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen" else rm $TOGGLE xinput enable 12 xinput enable 13 notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen" fi
Set execute permission and try it.
$ sudo chmod a+x /usr/bin/touch-toggle $ touch-toggle
In System settings / Keyboard settings / Shortcuts i am adding new shortcut with name “Touch Toggle” and a command touch-toggle
.
It’s much better now.[:]
]]>Так получилось, что ни правильно оформленного бренча, ни промежуточных коммитов я не делал, просто искал варианты с какой стороны подступиться к заданию и в итоге, практически его выполнив, делаю коммит:
git add . git commit (aborted, что-то лишнее добавил) (добавил это что-то в gitignore) git rm -r -f . (на автопилоте ляпнул -f вместо --cached)
Убило все рабочие файлы, включая изменённые. Перед глазами пронеслось всё что накодил за эти пару недель. В день по три копейки, конечно, но в итоге многовато. Восстанавливать из файловой системы стрёмно и маловероятно, ходил-бродил боясь дунуть на компутер…
И тут меня осенило: Local history в IDE – функция которая есть и в Netbeans и в Idea, которая просто существует и никогда особо не используется. В один момент всё было восстановлено при помощи неё, уровень адреналина медленно спадает, с этим приходит блаженство и счастье.
PS: Это была история из разряда “как делать не нужно”, о том “как быть в случае”. Поскольку выход из ситуации не явный решил об этом написать, возможно кого-то это спасёт.
А вообще, почаще делайте коммиты и отдыхайте.[:]
]]>