
Dmitry
28.10.2016
11:36:59
полученный файл дексриптор отдается процессу
у него там специальная табличка
и еще интересно что происходит с фд при форке процесса и клоне процесса
там есть нюансы

Google

Dmitry
28.10.2016
11:37:45
щас я тебе лекцию прямо кину

Roman
28.10.2016
11:37:49

Dmitry
28.10.2016
11:39:00
https://www.ibm.com/developerworks/ru/library/l-virtual-filesystem-switch/
вот тут глянь
http://www.intuit.ru/studies/courses/16499/1298/info
и вот курс хороший
2-3 глава как раз про это
http://staged-gluster-docs.readthedocs.io/en/release3.7.0beta1/Developer-guide/datastructure-inode/
вот еще хорошая статейка

Roman
28.10.2016
11:47:05
спасибо )

Watchcat
28.10.2016
12:51:29
Ты разве не читаешь код на C?

Google

Денис
28.10.2016
12:55:27
поделюсь ссылкой про нашу конференцию.
Linux Piter #2
11 - 12 ноября в / Питер
www.LinuxPiter.ru
(будет там и про DevOps)

Roman
28.10.2016
12:56:10

Alex
28.10.2016
12:57:56
А есть какаянибудь фс с расширенными атрибутами файлов куда можно чтото типа описаний записывать и тд?

Ivan
28.10.2016
12:58:17
теги это называется :)

Dmitry
28.10.2016
12:58:46

Alex
28.10.2016
13:00:58
Можно в файл, можно в атрибуты - пофиг. Главное доп инфу сохранять в него а не в бд

Dmitry
28.10.2016
13:01:50

Alex
28.10.2016
13:02:04
А что тогда

Dmitry
28.10.2016
13:02:14
любое кв хранилище

Alex
28.10.2016
13:02:28
Нуну

Nick
28.10.2016
13:02:40

Dmitry
28.10.2016
13:03:24
http://www.techrepublic.com/blog/linux-and-open-source/learn-to-use-extended-file-attributes-in-linux-to-boost-security/
собсна нагуглилось в полтычка
mount -o xattr...
setfattr -n user.comment -v "this is a comment" testfile
вот и все

Alex
28.10.2016
13:06:20
Ты что шутишь

Andrey
28.10.2016
13:06:28
причём в линуксе существует такая вещь, как копирование по запросу
тоесть оно на самом деле не копируется, а отображается. Но стоит тебе что-то записать

Google

Andrey
28.10.2016
13:08:08
тогда ты получишь уже копию со своими изменениями
так как по значениею открытого фд особо нет смысла писать... ну ты понел

Roman
28.10.2016
13:11:28
http://www.opennet.ru/opennews/art.shtml?num=45384

Andrey
28.10.2016
13:12:56
типа того
fork() очень дорогой
https://ru.wikipedia.org/wiki/Fork

Dmitry
28.10.2016
13:13:38
но в клоне уже нет

Roman
28.10.2016
13:13:46

Andrey
28.10.2016
13:13:50
>Например в ядре Linux[1]), отображающие в новый процесс страницы памяти родительского, вместо того чтобы их копировать (новая страница создаётся только при изменении её содержимого одним из процессов

Andrey
28.10.2016
13:15:38
ну тоесть они при запуске плодят процессы, а не в какое другое время
fork() копирует память процесса
в современных реалияз coredump может весить 800 метров и это не придел

Roman
28.10.2016
13:17:00
и нет, память не копируется. иначе было бы ой.

Andrey
28.10.2016
13:17:37
pthread_create это вообще про треды
а форк делает подпроцесс
тред это более лёгкая сущность, которая не хранит всякие контексты от ОС

Google

Andrey
28.10.2016
13:19:08
но её например в htop уже не увидешь

Roman
28.10.2016
13:19:25

Andrey
28.10.2016
13:20:34
нет, у pthread своя либа, которая так и называется
libpthread
но суть не в либе
это либа уходит корнями в ядро линукс, а там это подсистема называется NPTL

Admin
ERROR: S client not available

Roman
28.10.2016
13:22:17


Andrey
28.10.2016
13:26:54
Under Linux, fork() is implemented using copy-on-write pages, so the only penalty that it incurs is the time and memory required to duplicate the parent's page tables, and to create a unique task structure for the child.
Since version 2.3.3, rather than invoking the kernel's fork() system call, the glibc fork() wrapper that is provided as part of the NPTL threading implementation invokes clone(2) with flags that provide the same effect as the traditional system call. (A call to fork() is equivalent to a call to clone(2) specifying flags as just SIGCHLD.) The glibc wrapper invokes any fork handlers that have been established using pthread_atfork(3)

Kirill
28.10.2016
13:27:18
intuit жжот
Письмо на адрес "aaa@bbb.com" для подтверждения регистрации было выслано менее часа назад. Попробуйте сделать запрос на повторную отсылку письма через час.

Vadim
28.10.2016
13:27:29
Вопрос. Есть сервер Xeon E5-1650/64Gb RAM/4Tb софтовый рейд 1 со свежей Ubuntu 16.04 на нем стоит mongodb 3.3.15. В монго база около 400Гб, простая, там логи. Запустил процесс построения индекса по int полю, вчера шло нормально, по рассчетам где-то сутки должно было уйти на это. Сейчас же построено только 53% (очень замедлился процесс). CPU не нагружен практически ни на сколько, RAM занято 40Gb из 64, т.е. много свободной, свопа нет, при этом LA на сервере уже доходит до 8, консоль ели живая. IO занят на 100%. Есть ощущение, что это не здоровое поведение для такого сервера.
В cat /proc/mdstat и mdadm --detail подозрительного ничего не вижу.
Куда можно посмотреть, чтобы понять здоров ли сервер и что такое плохое происходит с IO?

Andrey
28.10.2016
13:28:43
не знал, кстати, что сейчас всё к clone() c флагом SIGCHLD сводится. Кстати многие компиляторы до сих просят флага -lpthread

Roman
28.10.2016
13:29:01

Andrey
28.10.2016
13:29:19
конечно. Это уже давно
но если бы вообще никак не копировали, очень много прилаг бы поломалось
а так — редкие кейсы

Roman
28.10.2016
13:32:27

Старый
28.10.2016
13:36:47
прометеус реально всего 3 мб весит?
ток поставил из репа, чтот жесть

Jenny
28.10.2016
13:38:09

Google

Старый
28.10.2016
13:38:21
☹️ а их в репе нет

Kirill
28.10.2016
13:38:26
А есть какие-нибудь аналоги Consul'а вообще в природе?

Rinat
28.10.2016
13:38:37
etcd ?

Старый
28.10.2016
13:38:38
каковы шансы что скачанный модуль не будет работать с версией из репа?

Jenny
28.10.2016
13:38:57


Старый
28.10.2016
13:39:21
сейчас покажу пакеты
prometheus.x86_64 : The Prometheus monitoring system and time series database
golang-github-prometheus-client_model-devel.noarch : Data model artifacts for
: Prometheus
golang-github-prometheus-procfs-unit-test.x86_64 : Unit tests for
...: golang-github-prometheus-procfs package
golang-github-prometheus-client_golang-devel.noarch : Prometheus instrumentation
...: library for Go applications
golang-github-prometheus-prometheus-devel.noarch : The Prometheus monitoring
...: system and time series database
golang-github-prometheus-common-devel.noarch : Go libraries shared across
...: Prometheus components and libraries
golang-github-prometheus-common-unit-test-devel.i686 : Unit tests for
...: golang-github-prometheus-common package
golang-github-prometheus-common-unit-test-devel.x86_64 : Unit tests for
...: golang-github-prometheus-common package
golang-github-prometheus-client_golang-unit-test.x86_64 : Unit tests for
...: golang-github-prometheus-client_golang package
golang-github-prometheus-procfs-devel.noarch : Functions to retrieve system,
...: kernel and process metrics from the /proc fs
вот такое в репе


Daniel
28.10.2016
13:43:57
тебе зачем прометей-то?
под какие задачи?

Старый
28.10.2016
13:44:32
я к нему графана прикручу

Pavel
28.10.2016
13:44:55

Daniel
28.10.2016
13:44:55
графики-хренафики
мониторин бывает оперативный, операционный, и трендовый

Jenny
28.10.2016
13:45:25

Daniel
28.10.2016
13:45:37
тебе какой нужен-то?

Andrey
28.10.2016
13:46:05