diff --git a/db/POSTGRES.MD b/db/POSTGRES.MD index d659869..eb84744 100644 --- a/db/POSTGRES.MD +++ b/db/POSTGRES.MD @@ -75,3 +75,12 @@ FROM pg_stat_activity; psql -U postgres -t -c "SELECT datname FROM pg_database WHERE datistemplate = false;" psql -U postgres -d postgres -c "SELECT datname FROM pg_database WHERE datistemplate = false;" -t -A + + +--- + +`SELECT pg_terminate_backend( pid ) FROM pg_stat_activity WHERE pid <> pg_backend_pid( ) AND datname = 'name of database';` - отключить все подключения к бд + +--- + +`ALTER DATABASE "downloader8097" RENAME TO "downloader_vo_8097";` - переименовать БД \ No newline at end of file diff --git a/docker/DOCKER.MD b/docker/DOCKER.MD index c98f295..4b5f737 100644 --- a/docker/DOCKER.MD +++ b/docker/DOCKER.MD @@ -2,4 +2,16 @@ - `no` (или не указывать restart вовсе) — контейнер не будет перезапускаться автоматически. Это значение по умолчанию. - `always` — контейнер будет автоматически перезапущен при любом завершении работы (даже при ручной остановке через docker stop). Он также перезапустится после перезагрузки Docker или хоста - `on-failure` — контейнер будет перезапущен только в случае выхода с ненулевым статусом (ошибкой). Вы можете также указать максимальное количество перезапусков, например,`on-failure:3`. - - `unless-stopped` — контейнер будет автоматически перезапущен при сбоях и после перезагрузки Docker или системы, но не перезапустится, если его остановили вручную. \ No newline at end of file + - `unless-stopped` — контейнер будет автоматически перезапущен при сбоях и после перезагрузки Docker или системы, но не перезапустится, если его остановили вручную. + +- `docker stats` + - CONTAINER ID - Уникальный идентификатор контейнера. + - NAME - Имя контейнера. + - CPU % - Использование CPU в процентах. + - MEM USAGE / LIMIT - Использование памяти / установленный лимит. + - MEM % - Доля использования памяти от лимита. + - NET I/O - Сетевой ввод/вывод данных. + - BLOCK I/O - Объем операций ввода/вывода на диске. + - PIDS - Количество процессов внутри контейнера. + +- `docker info` \ No newline at end of file diff --git a/java/NOTES.MD b/java/NOTES.MD index e69de29..a18a13f 100644 --- a/java/NOTES.MD +++ b/java/NOTES.MD @@ -0,0 +1,34 @@ +[https://stackoverflow.com/questions/2101518/difference-between-xxuseparallelgc-and-xxuseparnewgc]() + +( Оригинальный ) копирующий сборщик (включен по умолчанию). Когда этот сборщик включается, все потоки приложения останавливаются, и копирующий сбор продолжается с использованием одного потока (что означает только один ЦП, даже если это многопроцессорная машина). Это известно как сборка stop-the-world, потому что по сути JVM приостанавливает все остальное, пока сборка не будет завершена. + +Параллельный копирующий сборщик (включается с помощью -XX:+UseParNewGC). Как и исходный копирующий сборщик, это сборщик stop-the-world. Однако этот сборщик распараллеливает копирующий сбор по нескольким потокам, что более эффективно, чем исходный однопоточный копирующий сборщик для многопроцессорных машин (хотя и не для однопроцессорных машин). Этот алгоритм потенциально ускоряет сборку молодого поколения в разы, равные количеству доступных ЦП, по сравнению с исходным однопоточным копирующим сборщиком. + +Параллельный сборщик мусора (включается с помощью -XX:UseParallelGC). Он похож на предыдущий параллельный копирующий сборщик, но алгоритм настроен на гигабайтные кучи (более 10 ГБ) на многопроцессорных машинах. Этот алгоритм сбора предназначен для максимизации пропускной способности при минимизации пауз. Он имеет дополнительную политику адаптивной настройки, которая автоматически изменяет размер пространств кучи. Если вы используете этот сборщик, вы можете использовать только оригинальный сборщик mark-sweep в старом поколении (т. е. более новый конкурентный сборщик старого поколения не может работать с этим молодым сборщиком поколения). + +--- + + CATALINA_OPTS (Optional) Java runtime options used when the "start", + "run" or "debug" command is executed. + Include here and not in JAVA_OPTS all options, that should + only be used by Tomcat itself, not by the stop process, + the version command etc. + Examples are heap size, GC logging, JMX ports etc. + + JAVA_OPTS (Optional) Java runtime options used when any command + is executed. + Include here and not in CATALINA_OPTS all options, that + should be used by Tomcat and also by the stop process, + the version command etc. + Most options should go into CATALINA_OPTS. + + +Во-первых, все, что указано в переменной EITHER, передается идентично команде, которая запускает Tomcat - команде startor run- но только значения, заданные в, JAVA_OPTSпередаются команде stop. Это, вероятно, не имеет никакого значения для того, как Tomcat работает на практике, поскольку это влияет только на КОНЕЦ выполнения, а не на начало. + +Второе отличие более тонкое. Другие приложения также могут использовать JAVA_OPTS, но только Tomcat будет использовать CATALINA_OPTS. Поэтому, если вы устанавливаете переменные среды для использования только Tomcat, вам лучше всего использовать CATALINA_OPTS, тогда как если вы устанавливаете переменные среды для использования другими приложениями Java, такими как JBoss, вам следует поместить свои настройки в JAVA_OPTS. + +Я хотел бы добавить, что JAVA_OPTSи CATALINA_OPTSявляются взаимодополняющими : если вы определите обе переменные среды, их содержимое будет объединено и передано команде startand run— как объяснил Gnanam выше. + +--- + +https://www.baeldung.com/java-memory-beyond-heap \ No newline at end of file diff --git a/linux/COMMANDS.MD b/linux/COMMANDS.MD index 25fd354..d368b5e 100644 --- a/linux/COMMANDS.MD +++ b/linux/COMMANDS.MD @@ -67,6 +67,9 @@ APT работает поверх более низкоуровневого ин - `ethtool enp0s3` - диагностика сетевого интерфейса на физическом уровне (`ethtool enp0s3` - статистика) - `arp -a` - arp таблица (ip -> mac) - `ip route` - таблица маршрутизации (можно проверить есть ли шлюз) +- `resolvectl status` - инфо о днс +- `cat /etc/resolv.conf` - инфо о днс + ### База - `cp -p` - сохранить атрибуты файлов (время создания, права, владельца) diff --git a/vebsrv/haproxy/HAPROXY.MD b/vebsrv/haproxy/HAPROXY.MD new file mode 100644 index 0000000..fdce4d1 --- /dev/null +++ b/vebsrv/haproxy/HAPROXY.MD @@ -0,0 +1,4 @@ +``` +haproxy -f /etc/haproxy/haproxy.cfg -c - тестируем +systemctl reload haproxy - применяем +``` \ No newline at end of file diff --git a/vebserver/NGINX.MD b/vebsrv/nginx/NGINX.MD similarity index 100% rename from vebserver/NGINX.MD rename to vebsrv/nginx/NGINX.MD diff --git a/vebsrv/tomcat/TOMCAT.MD b/vebsrv/tomcat/TOMCAT.MD index cfc986b..9fb3c9a 100644 --- a/vebsrv/tomcat/TOMCAT.MD +++ b/vebsrv/tomcat/TOMCAT.MD @@ -116,4 +116,9 @@ WantedBy=multi-user.target - `ERROR`: Сообщения об ошибках, когда выполнение операции не удалось WEB-INF/classes или src/main/resources -`` \ No newline at end of file +`` + +--- + +`sudo useradd -M -d /opt/_Tomcat -g tomcat --system tomcat` +