Гіпотези довголіття Українцям Як знайти витік файлового дескриптора?

Як знайти витік файлового дескриптора?

Ви можете виявити витік файлового дескриптора двома різними способами:

  1. Ви можете помітити багато IOExceptions із повідомленням «Забагато відкритих файлів».
  2. Під час навантажувального тестування ви періодично запускаєте сценарій профілювання, наприклад lsof (в UNIX), і помічаєте, що список дескрипторів файлів постійно збільшується.

У псевдофайловій системі /proc ми можемо знайти дескриптори відкритих файлів під /proc/<pid>/fd/ де <pid> – PID даного процесу. Таким чином, ми повинні визначити ідентифікаційний номер процесу (PID) процесу, щоб переглянути його дескриптори відкритого файлу.

Щоб визначити, чи пов’язаний fd з pipe/fifo, можна використовуйте системний виклик fstat()., яка повертає структуру, поле st_mode якої містить тип і дозволи файлу, відкритого на цьому fd. Стандартний макрос S_ISFIFO() C можна використовувати для цього поля st_mode, щоб визначити, чи є fd каналом/fifo.

Використовуйте команду ulimit -n щоб переглянути кількість файлових дескрипторів, налаштованих для вашої системи Linux. Якщо результат відображає значення 20000 або більше, це завдання завершено.

Прапори дескрипторів файлів є різні атрибути файлового дескриптора. Ці прапорці пов’язані з певними файловими дескрипторами, тому, якщо ви створили повторювані файлові дескриптори з одного відкриття файлу, кожен дескриптор матиме власний набір прапорців.

Поширені причини помилки

  • Спроба використати дескриптор файлу після його закриття.
  • Некоректна передача дескриптора файлу між процесами.
  • Використання дескриптора файлу, який ніколи не відкривався та не ініціалізувався.

Related Post

Який двигун в Honda CBR125R 2014?Який двигун в Honda CBR125R 2014?

Він живиться від a 4-тактний 2-клапанний одноциліндровий двигун SOHC з рідинним охолодженням 124,7 куб. двигун із заявленою потужністю 10 кВт (13,4 к.с.; 13,6 к.с.). Що стосується показників потужності, то Honda

Ви все ще можете грати в стару гру Oregon Trail?Ви все ще можете грати в стару гру Oregon Trail?

Ви все ще можете грати в оригінальну гру Oregon Trail? Для тих, хто хоче пограти в оригінальну гру, вам потрібно буде перейти на oregontrail.ws. Тут ви зможете здійснити подорож у