Добрый вечер! Возник вопрос по поводу Java. Дело в том, что на линуксе она слегка заторможенная. В Windows все java-программы загружаются и работают шустро, нареканий нет.
Чтобы сразу стало понятно о чем я, приведу пример на игре Minecraft: в Windows игровой клиент MC загружается примерно за 40-50 секунд. Тем временем в линуксе тот же клиент, с теми же модификациями и настройками загружается +-3 минуты. Такое падение производительности распространяется на все java-приложения, запускаемые в Linux.
Я не представляю, в чем может быть проблема... может, к java надо передать какие-то специальные оптимизирующие аргументы, кто знает. Или у линукса какие-то свои особенности выделения ресурсов для программ ?
$ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
Дистр, ядро: Arch Linux x86_64 Linux 5.4.23-1-lts
Графический драйвер (хз, может это как-то влияет): nvidia-390xx-lts
Никакие настройки и конфиги java не менялись, все работает с коробки
Привет.
- Вроде элементарщина, но чего-то сообразить не могу. Есть простой тестовый юнит (не смотрите на имена/описание):
pavlick ~ $ cat /etc/systemd/user/sway.service
[Unit]
Description=Sway WM
Documentation=man:sway(5)
[Service]
#Restart=always
Type=simple
ExecStart=bash -c "sleep 10m"
[Install]
WantedBy=my_graphic.target
pavlick ~ $ systemctl get-default
my_graphic.target
После копирования в /etc/systemd/user делал systemctl –user enable sway. Пробовал
$ mv /etc/... ~/.config/systemd/user/sway.service
делал
$ systemctl start sway.service
раскомментировал Restart=always. Но сервис упорно не стартует автоматически после перезагрузки и логина в Павлика. При этом если кинуть сервис в /etc/systemd/system для systemd с ПИД==1, то всё ок. Почему не получается?
Мне нужно поставить в автозапуск несколько приложений windows на Ubuntu через wine
Прописываю файл rc.local
Xvfb :20.0 -ac -screen 0 800x600x24 &
cd /root/.wine/drive_c/
DISPLAY=:20.0 wine /root/.wine/drive_c/zpm-rt/zpm.exe –host=127.0.0.1 –port=9990 1>/dev/null 2>/dev/null&
DISPLAY=:20.0 wine /root/.wine/drive_c/zpm-pr/zpm.exe –host=127.0.01 –port=9991 1>/dev/null 2>/dev/null&
exit 0
Не запускается.
Что я делаю не правильно?
Добрый день, товарищи.
На боевом сервере, что мне доверили, в docker-контейнерах крутится следующее: postgres, nginx, gitea, certbot, youtrack, registry, portainer и корпоративное приложение на java.
Все контейнеры описаны в docker-compose, а все тома именованные.
Насколько неправилен следующий алгоритм бэкапа:
- Останавливаю docker, чтобы не велась запись в тома;
- Тарболю /var/lib/docker/volumes/ вместе с docker-compose.yaml;
- Запускаю docker;
- Заливаю полученный тарбол на резервный сервер.
В случае уничтожения основного сервера на резервном распаковываю в /var/lib/docker/volumes тома, запускаю docker-compose up.
Насколько описанный способ самодостаточен, охватывает ли он все нюансы?
Как я понимаю, вопрос резервирования в докере можно разбить на три части: резервирование образов, резервирование контейнеров и резервирование томов и все это можно делать встроенным средствами docker.
Но резервировать образы я не вижу смысла, так как все они есть в docker hub. Смысл резервировать контейнеры тоже не ясен, так как я использую именованные тома и бэкаплю их. Бэкап томов средствами докера выглядит сложнее, чем банальный тарбол.
Есть окружность
{vec3 center; float radius;}
Есть эллипсоид
{vec3 center; vec3 radius;}
А как такая фигура однозначно называется?
{vec3 center; vec3 radius_x1;vec3 radius_x2; vec3 radius_y1;vec3 radius_y2; vec3 radius_z1;vec3 radius_z2; }
x1
и x2
имеется в виду что по оси x с противоположных сторон разные радиусы, тоесть как эллипс только с независимыми радиусами сторон.
Кастанул математиков они в этих изоморфах шарят :
нет, ну правда? особенно для ридонли-говносайтиков. или там всяких форумов даже. вот на лоре зачем принудительное https? тут, какбе, априори все данные - публичные, чего скрывать-то? или беречь драгоценные пароли арестантов? так они их сами выкладывают по поводу и без.
я понимаю, когда оплата по карте или еще что-то важное, но для всего остального-то нафейхоа? вон, до недавнего времени вконтактик логин-пароль гонял открытым текстом, и ничего, жили как-то))
и какого хрена за меня решают, надо оно мне или нет? если так хочется - ну сделай, кому надо - тому надо, остальным пофиг же. нет, надо навешать своих 302. на кой черт мне лишний оверхед и лишние проблемы в старых бравузерах?
ЗЫЖ звиняйте, если опоздал с этим вопросом на пару лет. криокамера подтекает. пишу из оперы 12, лол
Доброго времени суток!
С учетом сложившейся ситуации в стране, всех перевели на удаленную работу. Поставлена задача в кротчайшие сроки подобрать простое решение для локального документооборота. Есть как минимум несколько требований. Кроме стандартного согласования документов, необходимо чтобы пользователь мог самостоятельно задавать и изменять маршрут согласования, админ панель. Все что предлагает Гугл, пробовать просто времени нет. Посоветуйте то, что сами считаете наиболее юзабельным, с чем имели дело в боевых условиях.
Спасибо!
настроил так
/home/test/stock_prices IN_ALL_EVENTS,IN_NO_LOOP /root/bin/move.sh
но клиент заливает по такой схеме, сначала подключается создает каталог даты, получается путь - /home/test/stock_prices/2020_05_04, а потом подключается уже второй раз через какое-то время и заливает уже файлы в каталог /home/test/stock_prices/2020_05_04 и скрипт не отрабатывает, когда заливаются файлы
я пробовал
/home/test/stock_prices/`date\ +%Y_%m_%d` IN_ALL_EVENTS,IN_NO_LOOP /root/bin/move.sh
но так он ищет каталог - date\ +%Y_%m_%d
как-то можно такое настроить через incrontab? или надо смотреть на другие варианты решения?
Разбираюсь с сабжем чисто для самообразования.
Краткая вводная.
Если мы работаем с Proxmox и нам нужно иметь дело с тегированным трафиком, рекомендуется использовать OVS.
Т.к. в случае с классическим Linux Bridge (не рассматриваем VLAN Aware Bridge) мы имеем расклад Bridge per VLAN — сколько VLAN'ов, столько и бриджей.
Громоздко, неудобно и легко запутаться, когда много VLAN'ов.
OVS же реализует подход Port per VLAN один свитч, куча портов и каждого порта свой VLAN (упрощенно).
Дальше OVS занимается маршрутизацией кадров на основе тегов.
Теперь мой вопрос: зачем VLAN'у может потребоваться назначать IP?
Я представлял VLAN просто как порт на свитче.
Но зачем нам доступ к самому VLAN'у (по ссылке на официальную доку)?
Какова его роль, сущность в данном случае?
Или VLAN в данном случае это аналог бриджа-шлюза, чтобы получить доступ к VM в подсети?
Жду примеров из практики.
Прошу не отправлять на винфак.
Попробывал менять tun-mtu и link-mtu но ничего не помогло. Пакеты по tcp идут а по udp нет.
Очень много бьюсь с этой проблемой но ничего не получается.
Вывод wireshark
Логи и конфиги
nginx:
server {
listen 443 ssl http2;
server_name video.999999.ru;
ssl on;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
location / {
proxy_pass 10.1.1.1:5080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
}
openmeetings
<Connector port="5080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="5443"
scheme="https"
secure="true" />
Без изменения конфига openmeetings не проверялся пароль.
Сейчас не дает записывать тестовое видео в настройках, при входе в комнату
каждые примерно 10 секунд на экране сообщение «Failed connect mediaserver».
Похоже нет связи kurento-media-server и openmeetings.
*****************
Также была неудачная попытка попытка поставить BigBlueButton на Ubuntu 16.04,
это их требование, запускал скрипт установки. В итоге тишина, файлы не выкачиваются.
Похоже все занимается скачиванием или инструкция устарела.
Сегодня потратил десять минут жизни, пытаясь понять, как в Rhythmbox добавить произвольную папочку с музыкой. В итоге оказалось, что это делается в настройках и папочка должна быть ровно одна.
Что делать, если кроме музыки я захочу добавить аудиокниги или, скажем, языковые упражнения? Видимо, по гномоканону я должен или положить их в папку с музыкой, или пойти на хрен.
Fuck you, Rhytmbox.
Я вот недавно задумался: а сколько может стоить издание небольшого тиража книги? Допустим 100 экз? Нужна верстка и печать, материал готов. Есть у кого опыт?
P.S. Нет, книга не моя.
С каждым новым релизом Ubuntu становится все дружественнее к пользователю. Для того, чтобы установить новейшую версию 20.04 нужно всего лишь следовать подсказкам установщика, остальное система сделает самостоятельно. В комплекте уже будет почтовая программа, браузер, офисный пакет, магазин приложений, проигрыватель и др. Как и любую другую операционку, каждый пользователь может настроить Ubuntu по своему вкусу, добавить нужные программы, изменить внешний вид оболочки и поведение системы. В этом материале мы покажем, как происходит настройка Ubuntu 20.04 после установки, как добавить драйверы, изменить темы оформления и установить дополнительный софт. Настройка Ubuntu 20.04 после установки Шаг 1. Фон рабочего стола Сразу после установки с
Запись Настройка Ubuntu 20.04 после установки впервые появилась Losst.
Захотел http сервер для теста. Для питона модуля SimpleHTTPServer не было, ставить pip’ом было лень, поискал на AUR, нашел:
- https://aur.archlinux.org/packages/simple-http-server/
- https://github.com/TheWaWaR/simple-http-server
Ну, думаю, какая разница питон там не питон, важно, что simple. Стал ставить. А оно собирает 151 пакетов.
Разве это не перебор?
Собираю Sentry в rpm. Проект тут https://github.com/patsevanton/sentry-rpm
Здесь https://github.com/patsevanton/sentry-rpm/blob/master/spec/sentry-9.1.2.spec#L185
Указано:
%pre
/usr/bin/echo "create group sentry"
/usr/bin/cat /etc/group | grep sentry
/usr/bin/getent group sentry > /dev/null || /usr/sbin/groupadd -r sentry
/usr/bin/echo "create user sentry"
/usr/bin/cat /etc/passwd | grep sentry
/usr/bin/getent passwd sentry > /dev/null || /usr/sbin/useradd -r -d /home/sentry -s /bin/bash -g sentry sentry
Но пользователь не создается.
В rpm скриптов я не вижу.
https://habrastorage.org/webt/yn/ex/d9/ynexd9qdvwosenurs7jzdqk34eq.png
Что может быть?
Есть такая дока:
Делаю типа такого:
super.onCreate(savedInstanceState)
setContentView(R.layout.content_main)
val editText: Edit = findViewById(R.id.edit_text)
val listener = MaskedTextChangedListener("+7 ([000]) [000]-[00]-[00]", editText)
editText.addTextChangedListener(listener)
editText.onFocusChangeListener = listener
в activity_main.xml edit_text присутствует
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="1234567890+-() "
android:inputType="number" />
в логах:
05-01 02:31:23.748 28177 28177 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class android.support.design.widget.TextInputLayout
05-01 02:31:23.748 28177 28177 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class android.support.design.widget.TextInputLayout