В Mac OS X, как я могу получить точное количество использования дескриптора файла?

Вы можете использовать словарь областей для потоков, что-то вроде этого:

class RealmWrapper {

    var realm: Realm? {
        return realmsPool.realmForThread(Thread.current)
    }

    var realmsPool = RealmsPool()
}

class RealmsPool {

    var realms = [Thread: Realm]()

    func realmForThread(_ t: Thread) -> Realm? {

        if let realm = realms[t] {
            return realm
        }

        do {
            let newRealm = try Realm(configuration: config)
            self.realms[t] = newRealm
            return newRealm
        } catch {
            fatalError("\(error)")
        }
    }
}
34
задан Zearin 19 June 2015 в 13:14
поделиться

1 ответ

lsof может показать много вещей, помимо файловых дескрипторов, но большая часть того, что, вероятно, раздувает ваш счет, - это загруженные фреймворки и библиотеки для приложения. Вы можете посмотреть на столбец «FD», чтобы увидеть, является ли строка дескриптором файла - в этом случае это число, возможно, за которым следует буква, обозначающая режим, - или что-то еще (см. Описание столбца FD в lsof man page для полного списка).

Если вам просто нужно приблизительное приближение, добавьте 'grep -v "txt", прежде чем ваш wc приблизит вас к точному значению. Если вам нужно точное значение, вам, вероятно, нужно собрать регулярное выражение для точной подачи вывода через эти файлеры по столбцу FD.

10
ответ дан 27 November 2019 в 16:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: