Pathfinders: Memories Mac OS
Pathfinder Mac Os, free pathfinder mac os software downloads. The Web Help Desk software for Mac OS X offers an industry leading web-based help desk software feature set that allows you to dynamically assign, track and fulfill all of your technical support trouble tickets and customer service requests with. To make OS X memory analysis further difficult, Volatility doesn’t maintain a very up to date set of profiles for analysis (not to mention Apple has made it increasingly impossible to easily collect memory from any recent OS X releases).
Mac Os Catalina
Click here to return to the '10.6: Easily view available disk space' hint |
This functionality works in 10.5, it's not some great new discovery.
Also, the status bar at the bottom of Finder windows shows the available space for a volume, and has done for YEARS.
But not in QuickLook, as this hint is about.
Wrong. This hint does work in 10.5 with QuickLook. Typing this from a 12' PowerBook G4 running 10.5.8, and the 'QuickLook on hard drive' functionality is identical to my 17' MacBook Pro running 10.6.1.
Wrong. This hint does work in 10.5 with QuickLook.This hint doesn't work for me on 10.5.8 for drive icons on the Desktop. It does work if the drive is selected in the sidebar or in the Volumes folder. Could the hint be about desktop drive icons?
I think you're right, I just assumed it was about desktop items but I guess it doesn't actually say that. However, the hint is given for the purpose of viewing available disk space, and if you have a finder window open then you most likely do not need quick look to accomplish this since the space shows up in the windows (assuming the window is showing a folder on the drive in question.) I know that has already been mentioned here many times, I am just using this to support the argument that the hint is probably about desktop icons.
Free space is also always listed at the bottom of any finder window, assuming you've got the sidebar/window chrome showing...
Or: right-click the desktop, select Show View Options, check Show Item Info. Size and free space will be listed under volumes.
OR (since 10.4 as far as I know) click on the desktop, open the view options (cmd-J) and activate the checkbox 'show object info': So you will see the available disk space anytime below the volume name.
If you are going to click on the drive icon anyway, why not just right-click (control-click) and then choose 'Get Info' from the pop-up menu? You will see more info than Quick Look provides.
Because you also have to close the get info window afterwards. With this hint it's a simple (slow) double tap of the space bar.
Great find. I'm glad you noticed this.
Using Quicklook is much faster and easier than going through the bother of pressing Option-click, navigating to the Show Info item, then having to close the window again. Just clicking on the icon and pressing SPACE twice is far more efficient, especially if you're using a trackpad.
This is just what I was looking for to improve my workflow.
Erm, you're saying 'keyboard shortcuts is quicker than menus'. But there are already keyboard shortcuts available.
Tapping space twice is only barely quicker than Command-I, Command-W. Notice those keyboard shortcuts have been available right from the very start of Macintosh System.
To the poster of this tip, please ignore the mean comments. I liked this hint. To everyone who states a different way, thank you. But the hint is still valid. Most of the other way listed (aside from the status bar), take more steps then pressing the spacebar.
Even the status bar option takes more effort, as you have to open a finder window to do it. This works from the desktop.
Showing the item info on the desktop works well, so long as your icons are huge and so there's enough space.
Great hint. Thanks.
While you have the window open you can click on another drive and it will switch and show that drives info. Nice hint.
Working on Macs in a PC environment is like putting on fireworks for the blind. Any noise scares everyone and no one see the brilliance of your work.
Yeah guys seriously, read the hint before commenting- I actually mention the other ways of finding disk space; so stop yapping.
Great hint. Yes, it worked in 10.5 also, but I never saw it hinted before.
I've already voiced my frustration several times with negative commenters (I affectionately call 'snobs') on this site as of late. Please please people just ignore them. They don't realize this isn't a contest, but rather a collective knowledgebase site. Even if it's not 'some great new discovery,' I love seeing it documented.
Snobs be gone.
I don't think anyone is being a snob — the reason I (and I presume many other members) love this site so much is the high quality of the information here. Whenever I see misinformation in a hint, I feel obliged to point it out so that Rob will hopefully add a correction to the hint (or at least readers of the hint will have a chance to be informed by the comments, assuming they read that far…). I've been reading the site for nearly a decade (has it really been around that long?) and it does seem like the quality of the hints has taken a distinct downward turn this last year or so.
This particular hint contains a lot of misinformation. The claim that the behavior is new to 10.6. The (implied) claim that the author has mentioned all the other ways to get the information (which they fell far short of doing, as is obvious from all the 'mean' comments). For such a short hint, it really packs a lot of misinformation punch!
All that being said, I acknowledge that a lot of the corrective comments could have been phrased more tactfully. I'd suggest the rudeness is just an emotional (possible subconscious) reaction to a perception of a recent flood of questionable hints on the site.
Rubbish! I agree the quality of (some of) the hints here has dropped, but this isn't an example of that. The ONLY misinformation in the hint is the idea that it's new to 10.6, which anyway I'd regard more as the editor's job to check for than the hinter's. While of course the hinter should strive to be as accurate as he can, he can normally only go by what he remembers of the previous version, as by definition he can't check now. The editors on the other hand have other resources to call upon, presumably.
There is no requirement whatsoever for any hinter to point out the alternative ways of achieving the same thing. He's not writing an OS X manual, he's pointing out one handy thing he's found that people might not have noticed. If others use other methods to do the same thing, great, and it's good if they list them in the comments, but the first reply in particular was stupid and unnecessary.
I know, lets get all the people who post convoluted ways to do things through Terminal include the much simpler UI methods in their hints shall we, before they're accepted? Who cares that some people may prefer to work that way, I don't, so will start to insult the hinter for daring to suggest I should.
I think the drop in 'quality' you've noticed has several causes. One, the volume of hints has increased significantly due to the popularity of the site and the OS, so robg can't test everything, and two, many more novices are feeling like they can contribute. Both of these are good things. I prefer to look at the hints not as 100% rock solid take it to the bank info, but rather as points of experimentation and discussion. The 'snobs' see it differently. They like to show their prowess by pointing out the flaws in other people's hints, and presume they know every possible thing about every possible thing, in every possible configuration, with every possible peripheral, etc etc. It's not what they say, but how they say it. Often rude and superior. They put the hinter on the defensive. I'm really getting sick of it. I've been reading and contributing to this site for over six years, and one thing has changed for sure, the quality of the commenters.
This hint is a great example. It's a fine hint, but not 100% accurate. I've never seen it here before, and so it's fair game. Who should test it? We, the readers! And we should report back in a professional and respectful manner. That's how we get all the facts, not by taunting and degrading.
And this perceived drop in quality is as all perceptions involving comparisons over larger time periods skewed by the biased nature of human memory. Humans tend to forget the bad things and remember the good things, that is how our psyche manages to make life bearable.
People, this is definitely new to 10.6, this was one of my biggest frustration in 10.5, and when I noticed that a lot of new stuff started showing up in QL windows (such as copyrights on apps) I decided to check HDs.
I've used Report and although its great, I've had better luck with WheresTheFreeSpace. It is Modeled after a PC application that is very popular called <a href='http://www.wheresthefreespace.com'>Treesize (but its for Mac).</a>
Efficient memory management is an important aspect of writing high performance code in both OS X and iOS. Minimizing memory usage not only decreases your application’s memory footprint, it can also reduce the amount of CPU time it consumes. In order to properly tune your code though, you need to understand something about how the underlying system manages memory.
Both OS X and iOS include a fully-integrated virtual memory system that you cannot turn off; it is always on. Both systems also provide up to 4 gigabytes of addressable space per 32-bit process. In addition, OS X provides approximately 18 exabytes of addressable space for 64-bit processes. Even for computers that have 4 or more gigabytes of RAM available, the system rarely dedicates this much RAM to a single process.
To give processes access to their entire 4 gigabyte or 18 exabyte address space, OS X uses the hard disk to hold data that is not currently in use. As memory gets full, sections of memory that are not being used are written to disk to make room for data that is needed now. The portion of the disk that stores the unused data is known as the backing store because it provides the backup storage for main memory.
Although OS X supports a backing store, iOS does not. In iPhone applications, read-only data that is already on the disk (such as code pages) is simply removed from memory and reloaded from disk as needed. Writable data is never removed from memory by the operating system. Instead, if the amount of free memory drops below a certain threshold, the system asks the running applications to free up memory voluntarily to make room for new data. Applications that fail to free up enough memory are terminated.
Note: Unlike most UNIX-based operating systems, OS X does not use a preallocated disk partition for the backing store. Instead, it uses all of the available space on the machine’s boot partition.
The following sections introduce terminology and provide a brief overview of the virtual memory system used in both OS X and iOS. For more detailed information on how the virtual memory system works, see Kernel Programming Guide.
About Virtual Memory
Virtual memory allows an operating system to escape the limitations of physical RAM. The virtual memory manager creates a logical address space (or “virtual” address space) for each process and divides it up into uniformly-sized chunks of memory called pages. The processor and its memory management unit (MMU) maintain a page table to map pages in the program’s logical address space to hardware addresses in the computer’s RAM. When a program’s code accesses an address in memory, the MMU uses the page table to translate the specified logical address into the actual hardware memory address. This translation occurs automatically and is transparent to the running application.
As far as a program is concerned, addresses in its logical address space are always available. However, if an application accesses an address on a memory page that is not currently in physical RAM, a page fault occurs. When that happens, the virtual memory system invokes a special page-fault handler to respond to the fault immediately. The page-fault handler stops the currently executing code, locates a free page of physical memory, loads the page containing the needed data from disk, updates the page table, and then returns control to the program’s code, which can then access the memory address normally. This process is known as paging.
If there are no free pages available in physical memory, the handler must first release an existing page to make room for the new page. How the system release pages depends on the platform. In OS X, the virtual memory system often writes pages to the backing store. The backing store is a disk-based repository containing a copy of the memory pages used by a given process. Moving data from physical memory to the backing store is called paging out (or “swapping out”); moving data from the backing store back in to physical memory is called paging in (or “swapping in”). In iOS, there is no backing store and so pages are are never paged out to disk, but read-only pages are still be paged in from disk as needed.
In OS X and in earlier versions of iOS, the size of a page is 4 kilobytes. In later versions of iOS, A7- and A8-based systems expose 16-kilobyte pages to the 64-bit userspace backed by 4-kilobyte physical pages, while A9 systems expose 16-kilobyte pages backed by 16-kilobyte physical pages. These sizes determine how many kilobytes the system reads from disk when a page fault occurs. Disk thrashing can occur when the system spends a disproportionate amount of time handling page faults and reading and writing pages, rather than executing code for a program.
Paging of any kind, and disk thrashing in particular, affects performance negatively because it forces the system to spend a lot of time reading and writing to disk. Reading a page in from the backing store takes a significant amount of time and is much slower than reading directly from RAM. If the system has to write a page to disk before it can read another page from disk, the performance impact is even worse.
Details of the Virtual Memory System
The logical address space of a process consists of mapped regions of memory. Each mapped memory region contains a known number of virtual memory pages. Each region has specific attributes controlling such things as inheritance (portions of the region may be mapped from “parent” regions), write-protection, and whether it is wired (that is, it cannot be paged out). Because regions contain a known number of pages, they are page-aligned, meaning the starting address of the region is also the starting address of a page and the ending address also defines the end of a page.
The kernel associates a VM object with each region of the logical address space. The kernel uses VM objects to track and manage the resident and nonresident pages of the associated regions. A region can map to part of the backing store or to a memory-mapped file in the file system. Each VM object contains a map that associates regions with either the default pager or the vnode pager. The default pager is a system manager that manages the nonresident virtual memory pages in the backing store and fetches those pages when requested. The vnode pager implements memory-mapped file access. The vnode pager uses the paging mechanism to provide a window directly into a file. This mechanism lets you read and write portions of the file as if they were located in memory.
In addition to mapping regions to either the default or vnode pager, a VM object may also map regions to another VM object. The kernel uses this self referencing technique to implement copy-on-write regions. Copy-on-write regions allow different processes (or multiple blocks of code within a process) to share a page as long as none of them write to that page. When a process attempts to write to the page, a copy of the page is created in the logical address space of the process doing the writing. From that point forward, the writing process maintains its own separate copy of the page, which it can write to at any time. Copy-on-write regions let the system share large quantities of data efficiently in memory while still letting processes manipulate those pages directly (and safely) if needed. These types of regions are most commonly used for the data pages loaded from system frameworks.
Each VM object contains several fields, as shown in Table 1.
Field | Description |
---|---|
Resident pages | A list of the pages of this region that are currently resident in physical memory. |
Size | The size of the region, in bytes. |
Pager | The pager responsible for tracking and handling the pages of this region in backing store. |
Shadow | Used for copy-on-write optimizations. |
Copy | Used for copy-on-write optimizations. |
Attributes | Flags indicating the state of various implementation details. |
If the VM object is involved in a copy-on-write (vm_copy
) operation, the shadow and copy fields may point to other VM objects. Otherwise both fields are usually NULL
.
Wired Memory
Wired memory (also called resident memory) stores kernel code and data structures that must never be paged out to disk. Applications, frameworks, and other user-level software cannot allocate wired memory. However, they can affect how much wired memory exists at any time. For example, an application that creates threads and ports implicitly allocates wired memory for the required kernel resources that are associated with them.
Table 2 lists some of the wired-memory costs for application-generated entities.
Mac Os Mojave
Resource | Wired Memory Used by Kernel |
---|---|
Process | 16 kilobytes |
Thread | blocked in a continuation—5 kilobytes; blocked—21 kilobytes |
Mach port | 116 bytes |
Mapping | 32 bytes |
Library | 2 kilobytes plus 200 bytes for each task that uses it |
Memory region | 160 bytes |
Note: These measurements may change with each new release of the operating system. They are provided here to give you a rough estimate of the relative cost of system resource usage.
As you can see, every thread, process, and library contributes to the resident footprint of the system. In addition to your application using wired memory, however, the kernel itself requires wired memory for the following entities:
VM objects
the virtual memory buffer cache
I/O buffer caches
drivers
Wired data structures are also associated with the physical page and map tables used to store virtual-memory mapping information, Both of these entities scale with the amount of available physical memory. Consequently, when you add memory to a system, the amount of wired memory increases even if nothing else changes. When a computer is first booted into the Finder, with no other applications running, wired memory can consume approximately 14 megabytes of a 64 megabyte system and 17 megabytes of a 128 megabyte system.
Wired memory pages are not immediately moved back to the free list when they become invalid. Instead they are “garbage collected” when the free-page count falls below the threshold that triggers page out events.
Page Lists in the Kernel
The kernel maintains and queries three system-wide lists of physical memory pages:
The active list contains pages that are currently mapped into memory and have been recently accessed.
The inactive list contains pages that are currently resident in physical memory but have not been accessed recently. These pages contain valid data but may be removed from memory at any time.
The free list contains pages of physical memory that are not associated with any address space of VM object. These pages are available for immediate use by any process that needs them.
When the number of pages on the free list falls below a threshold (determined by the size of physical memory), the pager attempts to balance the queues. It does this by pulling pages from the inactive list. If a page has been accessed recently, it is reactivated and placed on the end of the active list. In OS X, if an inactive page contains data that has not been written to the backing store recently, its contents must be paged out to disk before it can be placed on the free list. (In iOS, modified but inactive pages must remain in memory and be cleaned up by the application that owns them.) If an inactive page has not been modified and is not permanently resident (wired), it is stolen (any current virtual mappings to it are destroyed) and added to the free list. Once the free list size exceeds the target threshold, the pager rests.
The kernel moves pages from the active list to the inactive list if they are not accessed; it moves pages from the inactive list to the active list on a soft fault (see Paging In Process). When virtual pages are swapped out, the associated physical pages are placed in the free list. Also, when processes explicitly free memory, the kernel moves the affected pages to the free list.
Paging Out Process
In OS X, when the number of pages in the free list dips below a computed threshold, the kernel reclaims physical pages for the free list by swapping inactive pages out of memory. To do this, the kernel iterates all resident pages in the active and inactive lists, performing the following steps:
Pathfinders: Memories Mac Os X
If a page in the active list is not recently touched, it is moved to the inactive list.
If a page in the inactive list is not recently touched, the kernel finds the page’s VM object.
If the VM object has never been paged before, the kernel calls an initialization routine that creates and assigns a default pager object.
The VM object’s default pager attempts to write the page out to the backing store.
If the pager succeeds, the kernel frees the physical memory occupied by the page and moves the page from the inactive to the free list.
Note: In iOS, the kernel does not write pages out to a backing store. When the amount of free memory dips below the computed threshold, the kernel flushes pages that are inactive and unmodified and may also ask the running application to free up memory directly. For more information on responding to these notifications, see Responding to Low-Memory Warnings in iOS.
Paging In Process
The final phase of virtual memory management moves pages into physical memory, either from the backing store or from the file containing the page data. A memory access fault initiates the page-in process. A memory access fault occurs when code tries to access data at a virtual address that is not mapped to physical memory. There are two kinds of faults:
A soft fault occurs when the page of the referenced address is resident in physical memory but is currently not mapped into the address space of this process.
A hard fault occurs when the page of the referenced address is not in physical memory but is swapped out to backing store (or is available from a mapped file). This is what is typically known as a page fault.
When any type of fault occurs, the kernel locates the map entry and VM object for the accessed region. The kernel then goes through the VM object’s list of resident pages. If the desired page is in the list of resident pages, the kernel generates a soft fault. If the page is not in the list of resident pages, it generates a hard fault.
For soft faults, the kernel maps the physical memory containing the pages to the virtual address space of the process. The kernel then marks the specific page as active. If the fault involved a write operation, the page is also marked as modified so that it will be written to backing store if it needs to be freed later.
For hard faults, the VM object’s pager finds the page in the backing store or from the file on disk, depending on the type of pager. After making the appropriate adjustments to the map information, the pager moves the page into physical memory and places the page on the active list. As with a soft fault, if the fault involved a write operation, the page is marked as modified.
Pathfinders: Memories Mac Os Download
Copyright © 2003, 2013 Apple Inc. All Rights Reserved. Terms of Use Privacy Policy Updated: 2013-04-23