Home » Learning Curve
Five Minutes Four SecondsThere's too much file system activity on macOS High Sierra.
CUPERTINO (Rixstep) — What a shame Apple no longer run a dedicated development team for macOS: the system needs it. But when 2/3 of your billions come from iPhone, the priorities are easy to grasp.
It doesn't matter much what happens under the bonnet of iOS: the tappers don't see it. And could otherwise care less. And in a year or two, they'll toss out their old devices for new ones.
Busy, busy, busy, like AppleTalk.
But for those keen on operating systems and file systems, Apple's macOS High Sierra with the new APFS file system is cool to study. And as we wait for the official specs to be released, we can dig in and tinker.
First Up
First up today is that the abhorrent colon-slash switcheroo still remains, despite the fact that APFS is not 'beige'.
Here's a partial list of a directory.
total 208
drwx------ 9 rixstep staff 288 21 Nov 02:50 .
drwx------ 5 rixstep staff 160 28 Oct 16:25 ..
-rw-r--r-- 1 rixstep staff 4925 21 Nov 02:50 2:20171121,00.shtml
As can be seen, the SHTML file has a colon (':') in its name. This is because it will ultimately be uploaded to directory /2 (the Learning Curve). (It's a safeguard.) Now watch what APFS does with it - or perhaps one should say 'Apple's glorious Finder'.
Ever heard of an operating system where filenames appear different depending on? Welcome to the World of Apple™.
Of course the issue was formerly a legacy one. (To make matters worse, Apple's HFS filesystem didn't admit of relative paths. The slash prefix (to denote 'root') meant nothing. All paths had to be full paths. Oops.)
[Catch remnants of this in Terminal: navigate to a directory, remove it, create it again. Terminal will lose it - it's still beige. You can work around this by issuing 'cd .'. Ed.]
And just to make things as dicey as can be, Apple substituted the traditional slash for the colon as component separator.
Meaning of course that Apple couldn't have colons in filenames whilst NeXT's Unix could. (Yep it gets messy.)
Apple desperately arrived at a place where no more change would be made: they changed both slash and colon to dash.
But now on APFS? Which doesn't have to worry about backward beige compatibility? Perhaps it's an attempt to compensate for backward filenames. But the current non-beige system has been in use for nigh on twenty years. Perhaps it's time to at last put the past in the past?
Five Minutes Four Seconds
But onto the topic at hand. High Sierra has a sophisticated logging system. That part's great. But what's it good for? More importantly: can it be turned off? Even more importantly: do you ever use it?
Rixstep's Tracker was run for a very short time on an essentially idle system - for five minutes, four seconds.
63 (sixty-three) files were created/modified in that brief period of time. On an essentially idling system. (To make things simple, only /private was tracked.)
Start: Mon Nov 20 07:11:57 2017
Stop: Mon Nov 20 07:17:01 2017
Target:
Paths: /private
Accessed
Tracker's exported readouts are divided into three categories: accessed, changed, modified. Accessed is the time a filesystem item's last been accessed (something Apple's HI group decided, after nearly 50 years, to rename 'last opened'). Changed is the timestamp when an item's inode information's been changed. Modified is when an item was last modified (or created).
The full list of accessed items is below. It is not germane to the topic at hand, but a few things do look curious. Such as why is the system going through package receipts? (gkopaque.bundle would seem to be connected to gaoler gatekeeper.)
Accessed
--------
/private/etc/periodic/daily
/private/etc/periodic/daily/199.clean-fax
/private/etc/periodic/daily/140.clean-rwho
/private/etc/periodic/daily/110.clean-tmps
/private/etc/periodic/daily/310.accounting
/private/etc/periodic/daily/420.status-network
/private/etc/periodic/daily/130.clean-msgs
/private/etc/periodic/daily/430.status-rwho
/private/etc/periodic/daily/999.local
/private/etc/periodic/daily/400.status-disks
/private/etc/periodic/weekly
/private/etc/periodic/weekly/320.whatis
/private/etc/periodic/weekly/999.local
/private/etc/auto_master
/private/etc/syslog.conf
/private/etc/sudoers.d
/private/etc/bashrc_Apple_Terminal
/private/etc/asl
/private/etc/asl/com.apple.mkb.internal
/private/etc/asl/com.apple.DuetHeuristic-BM
/private/etc/asl/com.apple.cdscheduler
/private/etc/asl/com.apple.applepushservice
/private/etc/asl/com.apple.install
/private/etc/asl/com.apple.family.asl
/private/etc/asl/com.apple.callhistory.asl.conf
/private/etc/asl/com.apple.contacts.ContactsUICore
/private/etc/asl/com.apple.authd
/private/etc/asl/com.apple.eventmonitor
/private/etc/asl/com.apple.secinitd
/private/etc/asl/com.apple.coreduetd
/private/etc/asl/com.apple.mail
/private/etc/asl/com.apple.login.guest
/private/etc/asl/com.apple.coreaudio
/private/etc/asl/com.apple.DuetHeuristic-BM-OSX
/private/etc/asl/com.apple.performance
/private/etc/asl/com.apple.iokit.power
/private/etc/asl/com.apple.icloud.fmfd
/private/etc/asl/com.apple.contacts.ContactsAutocomplete
/private/etc/asl/com.apple.mkb
/private/etc/asl/com.apple.CoreDuetAdmissionControl
/private/etc/asl/com.apple.networking.networkextension.test
/private/etc/asl/com.apple.MessageTracer
/private/etc/asl/com.apple.networking.networkextension
/private/etc/asl/com.apple.networking.boringssl
/private/etc/asl/com.apple.clouddocs
/private/etc/security/audit_event
/private/etc/security/audit_class
/private/etc/security/audit_user
/private/etc/security/audit_control
/private/etc/group
/private/etc/auto_home
/private/etc/paths
/private/etc/pf.conf
/private/etc/sudoers
/private/etc/bashrc
/private/etc/newsyslog.d
/private/etc/newsyslog.d/wifi.conf
/private/etc/newsyslog.d/com.apple.slapconfig.conf
/private/etc/newsyslog.d/com.apple.slapd.conf
/private/etc/newsyslog.d/com.apple.xscertd.conf
/private/etc/newsyslog.d/files.conf
/private/etc/pam.d/login.term
/private/etc/pam.d/screensaver
/private/etc/pam.d/other
/private/etc/pam.d/checkpw
/private/etc/pam.d/sudo
/private/etc/pam.d/authorization
/private/etc/defaults/periodic.conf
/private/etc/networks
/private/etc/autofs.conf
/private/etc/profile
/private/etc/nfs.conf
/private/etc/asl.conf
/private/etc/hosts
/private/etc/pf.os
/private/etc/pf.anchors/com.apple
/private/etc/ntp.conf
/private/etc/master.passwd
/private/etc/cups
/private/etc/man.conf
/private/etc/passwd
/private/etc/newsyslog.conf
/private/etc/notify.conf
/private/var/spool/cups
/private/var/msgs
/private/var/db/receipts
/private/var/db/receipts/com.apple.pkg.Numbers4.plist
/private/var/db/receipts/com.apple.pkg.Keynote7.plist
/private/var/db/receipts/com.apple.pkg.MobileAssets.plist
/private/var/db/receipts/com.apple.pkg.iMovie_AppStore.plist
/private/var/db/receipts/com.apple.pkg.Xcode.plist
/private/var/db/receipts/com.apple.pkg.Pages6.plist
/private/var/db/gkopaque.bundle
/private/var/db/gkopaque.bundle/Contents
/private/var/db/gkopaque.bundle/Contents/Resources
/private/var/db/gkopaque.bundle/Contents/Info.plist
/private/var/db/gkopaque.bundle/Contents/version.plist
/private/var/db/BootCaches/RootExtra.logical_playlist
/private/var/db/SystemPolicyConfiguration/migration.plist
/private/var/db/.MASManifest
/private/var/db/DuetActivityScheduler/DuetActivitySchedulerClassC.db
/private/var/db/dyld/dyld_shared_cache_x86_64h
/private/var/db/awdd/anonlogs
/private/var/db/awdd/staging
/private/var/db/awdd/metriclogs
/private/var/db/com.apple.xpc.launchd/loginitems.501.plist
/private/var/db/com.apple.xpc.launchd/disabled.plist
/private/var/db/com.apple.xpc.launchd/disabled.248.plist
/private/var/db/com.apple.xpc.launchd/disabled.501.plist
/private/var/db/mds/messages/501/se_SecurityMessages
/private/var/db/mds/system/mdsDirectory.db
/private/var/db/mds/system/mdsObject.db
/private/var/db/lockdown
/private/var/db/auth.db
/private/var/db/diagnostics/timesync
/private/var/db/diagnostics/HighVolume
/private/var/db/gke.bundle/Contents/Resources/gke.auth
/private/var/db/DifferentialPrivacy/DifferentialPrivacyClassC.db
/private/var/db/DifferentialPrivacy/Reports
/private/var/db/DifferentialPrivacy/Reports/Retired
/private/var/db/uuidtext
/private/var/db/uuidtext/69
/private/var/db/uuidtext/93
/private/var/db/uuidtext/34
/private/var/db/uuidtext/9D
/private/var/db/uuidtext/D1
/private/var/db/uuidtext/D8
/private/var/db/uuidtext/CF
/private/var/db/uuidtext/FB
/private/var/db/uuidtext/ED
/private/var/db/uuidtext/C1
/private/var/db/uuidtext/20
/private/var/db/uuidtext/27
/private/var/db/uuidtext/28
/private/var/db/uuidtext/72
/private/var/db/uuidtext/6E
/private/var/db/uuidtext/5B
/private/var/db/uuidtext/37
/private/var/db/uuidtext/08
/private/var/db/uuidtext/52
/private/var/db/uuidtext/A0
/private/var/db/uuidtext/F1
/private/var/db/uuidtext/CB
/private/var/db/uuidtext/83
/private/var/db/uuidtext/76
/private/var/db/uuidtext/8B
/private/var/db/uuidtext/dsc
/private/var/db/uuidtext/25
/private/var/db/dslocal
/private/var/db/dslocal/nodes
/private/var/db/dslocal/nodes/Default
/private/var/db/fud/com.apple.MobileAccessoryUpdater.AppleEAAccessoryUpdater
/private/var/db/fud/com.apple.USBCAccessoryFirmwareUpdater
/private/var/db/fud/com.apple.MobileAccessoryUpdater.StandaloneHIDFudPlugins
/private/var/db/PreviousSystemVersion.plist
/private/var/db/CoreDuet/Knowledge/knowledge.755092D2-829C-590D-B9FE-CBB835933584.plist
/private/var/db/CoreDuet/Knowledge/knowledgeC.db
/private/var/db/CoreDuet/Knowledge/knowledgeC.db-wal
/private/var/db/CoreDuet/People/interactionC.db
/private/var/db/systemstats/current_boot_uuid
/private/var/db/crls/crlcache2.db
/private/var/log/displaypolicy
/private/var/log/com.apple.xpc.launchd
/private/var/log/CoreDuet
/private/var/folders/***/0/com.apple.notificationcenter/db2/db
/private/var/folders/***/0/com.apple.routined/Cache/defaults.plist
/private/var/folders/***/0/com.apple.routined/Cache/Cloud.sqlite
/private/var/folders/***/0/com.apple.routined/Cache/Local.sqlite-wal
/private/var/folders/***/0/com.apple.dock.launchpad/db/db
/private/var/folders/***/Cleanup At Startup
/private/var/folders/***/C/com.rixstep.Xfile/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.rixstep.Xfile/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.rixstep.Xfile/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.rixstep.Xfile/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.trustd/ocspcache.sqlite3
/private/var/folders/***/C/com.apple.dt.IDECacheDeleteAppExtension/com.apple.DeveloperTools/9.1-9B55/Xcode/CachedSpecifications-IDECacheDeleteAppExtension
/private/var/folders/***/C/com.apple.ncplugin.stocks/com.apple.ncplugin.stocks/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.apple.ncplugin.stocks/com.apple.ncplugin.stocks/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.apple.ncplugin.stocks/com.apple.ncplugin.stocks/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.apple.ncplugin.stocks/com.apple.ncplugin.stocks/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.Spotlight/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.apple.Spotlight/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.apple.Spotlight/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.apple.Spotlight/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.notificationcenterui/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.apple.notificationcenterui/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.apple.notificationcenterui/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.apple.notificationcenterui/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.FontRegistry/font
/private/var/folders/***/C/com.apple.FontRegistry/fontregistry.user
/private/var/folders/***/C/com.apple.appstore/manifest.plist
/private/var/folders/***/C/com.apple.systemuiserver/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.apple.systemuiserver/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.apple.systemuiserver/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.apple.systemuiserver/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.loginwindow/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.apple.loginwindow/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.apple.loginwindow/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.apple.loginwindow/com.apple.metal/libraries.data
/private/var/folders/***/C/com.apple.scriptmanager2.le.cache
/private/var/folders/zz
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000b000002r/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n000010r000086/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000sm00006d/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000b400002s/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000c4000031/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n000003000000r/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000s800006_/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000084000021/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n000011800008_/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n000010w000087/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000y800007k/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000108000082/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000114000089/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000z000007r/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n000006w00001q/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000th00006m/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000xc00007b/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n00000bh00002w/T
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/0/com.apple.LaunchServices-219-v2.csstore
/private/var/run/syslog.pid
/private/var/run/utmpx
/private/var/tmp
/private/var/rwho
/private/tmp/com.apple.launchd.CTz8zIEwMi
/private/tmp/com.apple.launchd.5wAmMqPuS8
Changed
As the system was effectively idling for those five minutes four seconds, no inode info was changed.
Modified
The modified listing is eminently more interesting (and better populated). Note that proprietary (system-specific) path components have been, as above, replaced with '***'.
Modified
--------
/private/var/db/Spotlight
/private/var/db/powerlog/Library/BatteryLife/CurrentPowerlog.PLSQL-wal
/private/var/db/diagnostics/Special/0000000000000021.tracev3
/private/var/db/diagnostics/Persist/0000000000000010.tracev3
/private/var/db/uuidtext/3B/6D45400AE2358C87933AF661C8F951
/private/var/db/uuidtext/FE/F349208E223E709FE2552800B9A460
/private/var/db/uuidtext/16/6F274224133DA79F21675DD962036F
/private/var/db/uuidtext/7B/E6B6AA12DD365CA5C5C8C8A2293D0B
/private/var/db/uuidtext/9A/CA0127E687388594751D5E4DD83168
/private/var/db/uuidtext/9A/79C2510A7335848F421652E5BAB381
/private/var/db/uuidtext/3A/000F71E4D137CCB62CFAE7FC81C26C
/private/var/db/uuidtext/6C/791AD6426B34A495CC9B8B049A5489
/private/var/db/uuidtext/A7/A58DC0EEB3352CAAF1851A24A8ACF0
/private/var/db/uuidtext/B7/3EB177938B3A989405789F729A0C3B
/private/var/db/uuidtext/F0/24C78020883E28A8DA1D7DB12E39CB
/private/var/db/uuidtext/F7/1B60DC303734C3ABB4B011CDF19866
/private/var/db/uuidtext/F8/8F8299441C3E1AAEBEAFBB858AE1EA
/private/var/db/uuidtext/40/75E44E5F45386DB289C1E320CB1709
/private/var/db/timed
/private/var/db/systemstats/C862C9BA-8F68-468D-A3B3-3D3AEEE96161.microstackshots.XXXXXX.gz
/private/var/log/powermanagement/2017.11.20.asl
/private/var/log/powermanagement/StoreData
/private/var/log/asl/2017.11.20.G80.asl
/private/var/log/asl/StoreData
/private/var/log/DiagnosticMessages/2017.11.20.asl
/private/var/log/DiagnosticMessages/StoreData
/private/var/log/system.log
/private/var/folders/***/T
/private/var/folders/***/C/com.apple.trustd/ocspcache.sqlite3-wal
/private/var/folders/***/C/com.apple.trustd/mds
/private/var/folders/***/C/com.apple.trustd/mds/mdsDirectory.db
/private/var/folders/***/C/com.apple.trustd/mds/mdsObject.db
/private/var/folders/***/C/com.rixstep.Tracker/com.apple.metal/libraries.maps
/private/var/folders/***/C/com.rixstep.Tracker/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.maps
/private/var/folders/***/C/com.rixstep.Tracker/com.apple.metal/Intel(R) Iris(TM) Graphics 6000/functions.data
/private/var/folders/***/C/com.rixstep.Tracker/com.apple.metal/libraries.data
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/Cleanup At Startup
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/Cleanup At Startup/com.apple.backupd.filechecklist
It's easy to see where the bulk of that filesystem activity comes from: the logging system.
What are logging systems good for? Why, to log things!
The uuidtext hive uses 256 subdirectories numbered 00 to FF inclusive. Each subdirectory seems to have a few (2-3) files with contents such as below.
ôàwf ∏ ÿ BTMMPortInUseAgent BTMMPortInUseAgent: SCDynamicStoreCreate failed, %s %@/%@/Protocol/%@/%@/.* PortInUse
/ com.apple.UserEventAgent.BTMMPortInUseAgent BTMM: can't find bundle NOTIFICATION_HEADER NOTIFICATION_MESSAGE CAN
CEL DISABLE CFUserNotificationCreate() failed, %d CFUserNotificationCreateRunLoopSource() failed BTMMPortInUseAge
nt: can't find user notification BTMMDisable app BTMMPortInUseAgent: couldn't find URL BTMMPortInUseAgent: failed
to disable Back To My Mac /System/Library/UserEventPlugins/BTMMPortInUseAgent.plugin/Contents/MacOS/BTMMPortIn
UseAgent
These files are populated with data that comes from deeper in the system, at /var/db/diagnostics. Filenames in the subdirectories Persist and Special seem to be serialised and capable of monster values before hitting turnover. They're composed of 16 (sixteen) hexadecimal digits with '.tracev3' tacked on at the end.
How to read trace3 files? Go ask StackExchange.
https://apple.stackexchange.com/questions/268089/how-to-read-tracev3-binary-log-files
log show <FILE>
The log command is very interesting, very powerful, and very useful.
log(1) BSD General Commands Manual log(1)
NAME
log -- Access system wide log messages created by os_log, os_trace and
other logging systems.
log help provides a good summary.
usage:
log
examples:
log show
log collect
log erase --all
log help stream
commands:
collect, config, erase, show, stream, stats
further help:
log help
log erase can be used to remove all logs. log collect can be used to archive them. This archive can be quite the monster.
'Showing' such an archive and redirecting output can easily result in a text file in excess of a gigabyte.
log stats is very cool.
Unified Logging
Apple's new unified logging (and activity tracing) system, introduced at WWDC 2016, targets all Apple systems. It's designed to be as unobtrusive as possible and to reduce the 'observer effect' (think Heisenberg for computer science). And in many ways, it meets its goals. But it does make it difficult to see the forest for the trees when it's not logging you're after. And - so far at any rate - it can't be turned off.
Apple's engineers can't conceive of a scenario where you wouldn't want it to run. Yet most users can't conceive of the opposite.
Turn it Off?
There's a way to turn it off?
sudo log config --mode "level:off"
Things still run pretty much as before. This after three minutes of system idling.
Modified
--------
/private/var/db/diagnostics/Special/0000000000000024.tracev3
/private/var/db/diagnostics/timesync/0000000000000002.timesync
/private/var/db/diagnostics/Persist/0000000000000011.tracev3
/private/var/db/uuidtext/58/CC0E0317B43D7A84C47DA1275642C0
/private/var/db/uuidtext/BB/88FC65AC78308A82030DAD82CCAC19
/private/var/db/uuidtext/FE/F349208E223E709FE2552800B9A460
/private/var/db/uuidtext/7B/E6B6AA12DD365CA5C5C8C8A2293D0B
/private/var/db/uuidtext/9A/CA0127E687388594751D5E4DD83168
/private/var/db/uuidtext/9A/79C2510A7335848F421652E5BAB381
/private/var/db/uuidtext/6C/791AD6426B34A495CC9B8B049A5489
/private/var/db/uuidtext/A7/A58DC0EEB3352CAAF1851A24A8ACF0
/private/var/db/uuidtext/B7/3EB177938B3A989405789F729A0C3B
/private/var/db/uuidtext/F0/24C78020883E28A8DA1D7DB12E39CB
/private/var/db/uuidtext/F7/1B60DC303734C3ABB4B011CDF19866
/private/var/db/uuidtext/F8/8F8299441C3E1AAEBEAFBB858AE1EA
/private/var/db/uuidtext/40/75E44E5F45386DB289C1E320CB1709
Apple's Unified Logging needs one more feature.
About RixstepStockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.
Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.
All Content and Software Copyright © Rixstep. All Rights Reserved.
See Also Apple: Apple File System Guide mac4n6: Introducing Unified Logging Apple: Unified Logging and Activity Tracing
|