Search Results

Search found 3131 results on 126 pages for 'upper stage'.

Page 30/126 | < Previous Page | 26 27 28 29 30 31 32 33 34 35 36 37  | Next Page >

  • Subterranean IL: The ThreadLocal type

    - by Simon Cooper
    I came across ThreadLocal<T> while I was researching ConcurrentBag. To look at it, it doesn't really make much sense. What's all those extra Cn classes doing in there? Why is there a GenericHolder<T,U,V,W> class? What's going on? However, digging deeper, it's a rather ingenious solution to a tricky problem. Thread statics Declaring that a variable is thread static, that is, values assigned and read from the field is specific to the thread doing the reading, is quite easy in .NET: [ThreadStatic] private static string s_ThreadStaticField; ThreadStaticAttribute is not a pseudo-custom attribute; it is compiled as a normal attribute, but the CLR has in-built magic, activated by that attribute, to redirect accesses to the field based on the executing thread's identity. TheadStaticAttribute provides a simple solution when you want to use a single field as thread-static. What if you want to create an arbitary number of thread static variables at runtime? Thread-static fields can only be declared, and are fixed, at compile time. Prior to .NET 4, you only had one solution - thread local data slots. This is a lesser-known function of Thread that has existed since .NET 1.1: LocalDataStoreSlot threadSlot = Thread.AllocateNamedDataSlot("slot1"); string value = "foo"; Thread.SetData(threadSlot, value); string gettedValue = (string)Thread.GetData(threadSlot); Each instance of LocalStoreDataSlot mediates access to a single slot, and each slot acts like a separate thread-static field. As you can see, using thread data slots is quite cumbersome. You need to keep track of LocalDataStoreSlot objects, it's not obvious how instances of LocalDataStoreSlot correspond to individual thread-static variables, and it's not type safe. It's also relatively slow and complicated; the internal implementation consists of a whole series of classes hanging off a single thread-static field in Thread itself, using various arrays, lists, and locks for synchronization. ThreadLocal<T> is far simpler and easier to use. ThreadLocal ThreadLocal provides an abstraction around thread-static fields that allows it to be used just like any other class; it can be used as a replacement for a thread-static field, it can be used in a List<ThreadLocal<T>>, you can create as many as you need at runtime. So what does it do? It can't just have an instance-specific thread-static field, because thread-static fields have to be declared as static, and so shared between all instances of the declaring type. There's something else going on here. The values stored in instances of ThreadLocal<T> are stored in instantiations of the GenericHolder<T,U,V,W> class, which contains a single ThreadStatic field (s_value) to store the actual value. This class is then instantiated with various combinations of the Cn types for generic arguments. In .NET, each separate instantiation of a generic type has its own static state. For example, GenericHolder<int,C0,C1,C2> has a completely separate s_value field to GenericHolder<int,C1,C14,C1>. This feature is (ab)used by ThreadLocal to emulate instance thread-static fields. Every time an instance of ThreadLocal is constructed, it is assigned a unique number from the static s_currentTypeId field using Interlocked.Increment, in the FindNextTypeIndex method. The hexadecimal representation of that number then defines the specific Cn types that instantiates the GenericHolder class. That instantiation is therefore 'owned' by that instance of ThreadLocal. This gives each instance of ThreadLocal its own ThreadStatic field through a specific unique instantiation of the GenericHolder class. Although GenericHolder has four type variables, the first one is always instantiated to the type stored in the ThreadLocal<T>. This gives three free type variables, each of which can be instantiated to one of 16 types (C0 to C15). This puts an upper limit of 4096 (163) on the number of ThreadLocal<T> instances that can be created for each value of T. That is, there can be a maximum of 4096 instances of ThreadLocal<string>, and separately a maximum of 4096 instances of ThreadLocal<object>, etc. However, there is an upper limit of 16384 enforced on the total number of ThreadLocal instances in the AppDomain. This is to stop too much memory being used by thousands of instantiations of GenericHolder<T,U,V,W>, as once a type is loaded into an AppDomain it cannot be unloaded, and will continue to sit there taking up memory until the AppDomain is unloaded. The total number of ThreadLocal instances created is tracked by the ThreadLocalGlobalCounter class. So what happens when either limit is reached? Firstly, to try and stop this limit being reached, it recycles GenericHolder type indexes of ThreadLocal instances that get disposed using the s_availableIndices concurrent stack. This allows GenericHolder instantiations of disposed ThreadLocal instances to be re-used. But if there aren't any available instantiations, then ThreadLocal falls back on a standard thread local slot using TLSHolder. This makes it very important to dispose of your ThreadLocal instances if you'll be using lots of them, so the type instantiations can be recycled. The previous way of creating arbitary thread-static variables, thread data slots, was slow, clunky, and hard to use. In comparison, ThreadLocal can be used just like any other type, and each instance appears from the outside to be a non-static thread-static variable. It does this by using the CLR type system to assign each instance of ThreadLocal its own instantiated type containing a thread-static field, and so delegating a lot of the bookkeeping that thread data slots had to do to the CLR type system itself! That's a very clever use of the CLR type system.

    Read the article

  • Multiple Vertex Buffers per Mesh

    - by Daniel
    I've run into the situation where the size of my mesh with all its vertices and indices, is larger than the (optimal) vertex buffer object upper limit (~8MB). I was wondering if I can sub-divide the mesh across multiple vertex buffers, and somehow retain validity of the indices. Ie a triangle with a indice at the first vertex, and an indice at the last (ie in seperate VBOs). All the while maintaining this within Vertex Array Objects. My thoughts are, save myself the hassle, and for meshes (messes :P) such as this, just use the necessary size ( 8MB); which is what I do at the moment. But ideally my buffer manager (wip) at the moment is using optimal sizes; I may just have to make a special case then... Any ideas? If necessary, a simple C++ code example is appreciated. Note: I have also cross-posted this on stackoverflow, as I was not sure as to which it would be more suitable (its partly a design question).

    Read the article

  • Understanding the maximum hit-rate supported by a web-server

    - by SNag
    I would like to crawl a publicly available site (and one that's legal to crawl) for a personal project. From a brief trial of the crawler, I gathered that my program hits the server with a new HTTPRequest 8 times in a second. At this rate, as per my estimate, to obtain the full set of data I need about 60 full days of crawling. While the site is legal to crawl, I understand it can still be unethical to crawl at a rate that causes inconvenience to the regular traffic on the site. What I'd like to understand here is -- how high is 8 hits per second to the server I'm crawling? Could I possibly do 4 times that (by running 4 instances of my crawler in parallel) to bring the total effort down to just 15 days instead of 60? How do you find the maximum hit-rate a web-server supports? What would be the theoretical (and ethical) upper-limit for the crawl-rate so as to not adversely affect the server's routine traffic?

    Read the article

  • Network manager indicator missing

    - by Jarmo
    I recently upgraded from 11.10 to 12.04. My first attempt failed, and I received an error stating that not all of the required packages were downloaded. Before (successfully) attempting again, I noticed that there was no longer a networking indicator in the upper panel. The indicator did not reappear with the installation of 12.04. To be clear, my wireless connection has experienced no problems, despite the missing indicator. Here are the solutions that I have found which did not work for me: Editing /etc/NetworkManager/NetworkManager.conf and replacing [ifupdown] managed=false with =true. Reinstalling network-manager (via apt-get install --reinstall). I am currently running 12.04 on an Asus Eee PC 1005 HA, and I am new to seeking solutions through forums, so I apologize if I have neglected to provide some vital information about my hardware.

    Read the article

  • What is the application that displays notifications in Lubuntu 12.04 and how to remove it?

    - by cipricus
    I get all the time notifications in the upper right corner and as a tray icon for all kind of actions, especially downloads. What app is that in Lubuntu? (it is not notify-isd) Is it possible to set what notifications to see? If not, how to remove this completely? Update edit: Removing notification-demon (that being it seems the culprit, as an answer suggests) involves removing some important applications: Lubuntu-desktop is a metapackage I guess. But what about removing deluge and update-notifier? Can I add these back without getting back the notifier?? I do not want in any case to remove these two.

    Read the article

  • ATI graphics card, with gnome shell on Ubuntu 11.10, screen flickers

    - by bioShark
    After installing gnome shell, without any problem, after log in the fonts are missing and it looks like crap...nothing is readable. Don't want to make it a double post, because my issue is similar to the one from this question but for me the problems have not been solved properly. After running the commands from that post, and installing the latest AMD 11.10 driver, the Gnome shell display issues have been solved. But each time I move the mouse in the upper left corner, to bring up the applications...my entire screen flickers. Without the applications been displayed, everything looks fine. Hardware: ATI HD4870, Intel Q6600.

    Read the article

  • Pixmaps, ByteBuffers, and Textures....Oh my

    - by odaymichael
    My ultimate goal is to take a specific region of the screen, and redraw it somewhere else. For example, take a square from the upper left hand corner of the screen and redraw it on the lower right hand corner, so that it is basically a copy of that screen section; kind of like a minimap, but at the same scale as the original. I have looked in to pixmaps and bytebuffers. Also maybe copying that region from the backbuffer somehow. Wondering the best way to go about this. Any help is appreciated. I am using opengl es and libgdx for what it's worth.

    Read the article

  • Detecting a ledge in Box2D

    - by DormoTheNord
    I'm making a 2D platformer with Box2D. The player needs to be able to grab onto a ledge and pull him/herself up. Right now I have a sensor that extends in every direction from the upper half of the player's body. The logic seems simple enough: if there are tiles inside the sensor and empty space above them, then it's a ledge and the game should act accordingly. The problem is that I can't figure out how to implement that logic with Box2D. Anyone have any ideas?

    Read the article

  • Cannot Update through Manager or Terminal/ Software Center Does Not Work

    - by BROBA
    I installed Tor a few days ago via the terminal. I deleted some hashtags in the gedit polipo, and changed my proxy settings in chrome, but was unable to make it work and have since changed all of it back. I then downloaded the Tor browser bundle which works great, but ever since then have been unable to download updates or new software. The update manager says to "check internet connection" and the software center displays a mostly blank screen under apps like "rhythmbox" and just says "available from main source" when I click on "use this source" a refresh symbol appears on the upper right corner of the software center for a split second, and then nothing happens. The app does not download and isn't available in the dash. When I try via the terminal it says it's unable to connect to my ip address. I tried changing the server and unchecking all the repository options for software sources, all to no avail. WHAT DID I DO?????

    Read the article

  • Automatically switch to workspace with active application

    - by Pit
    Hi, I currently have 4 workspaces. If I have a pidgin chat window open on one workspace that is currently not active and I get a message in that already open chat window, I want do be able to click on the green envelope symbol in the upper menu-bar and be switched to the workspace the window is situated. Currently if I click on the green envelope symbol there will be appear a button on the lower menu-bar on which I have to click to be switched to the other workspace. Same with opening links. If in some application I click on a link the last activated Firefox window will open the link. Even this last active firebox window is on a currently not active workspace, and there is a Firefox window on the currently active workspace. So either open the link in the Firefox on the currently active workspace, or switch to the workspace on which the link was opened. Is/are there any solution(s) to this problem?

    Read the article

  • Gnome3 pointer barrier not working with dual monitors

    - by Nathan
    I have a dual monitor setup using Gnome3. Misc Info : In the past I used Fedora, there was a pointer barrier between my two monitors in the upper left corner so that I can hit the hot corner when moving from the right monitor to the left monitor. Problem : However, with my new Ubuntu installation, the barrier no longer exists and my mouse pointer glides straight to the next screen. This makes that hot corner nearly useless. I've looked around, messed with the values in /usr/share/gnome-shell/js/ui/layout.js, but I can't figure out how to make the pointer barrier work. may someone suggest hot to get the full utilization of hot cornet.

    Read the article

  • Arranging Gizmos in Unity 3D [on hold]

    - by Simran kaur
    I have this arrangement of Gizmos which was handed over to me. ! 1. How do I get it? I have read the documentation but I could get it as shown. I have basically track or lane that is coming towards the camera by moving towards negative z. I am moving lanes so that it appears as if cars are moving, The roads need to be rotated by 90 degrees otherwise they appear to move towards the upper end of the screen and that too parellely.Why exactly is that?

    Read the article

  • Laptop works fine with ac adapter, hangs after login screen using battery

    - by tavoton
    I did an Ubuntu 10.10 Desktop Edition clean install (amd64 version) on a notebook Medion Akoya E1311. With AC adapter everything works fine, but using battery, it hangs after login screen. I can type login, password too, and I can press login button. But then I can see mouse cursor and lower task bar, not upper, and nothing works. The only thing I can do is login on a terminal with ctrl+alt+F1, this is ok. Nothing seems alive on Gnome except mouse cursor. The only thing I did after Ubuntu fresh install was donwloading driver for RTL8191SE from Realtek web, because WiFi didn't work, now works fine, with ac adapter of course. Hardware is a Notebook Medion Akoya E1311 AMD Sempron 210U 1 GB DDR2 ATI RS690M (Radeon X1200 Series) Western Digital 160GB wireless RTL8191SEvB ethernet RTL8101E/RTL8102E

    Read the article

  • What is your preferred font for working with code and data?

    - by Gary
    The features I would look for in a 'programmers' font are Monospaced (maybe less important for code, but more important for data) Distinguishable characters. Often I (uppercase i), 1 (one) and l (lower-case L) can be confusing, as can O (upper-case o) and 0 (zero). I'd be interested other character issues, especially in accented or extended character sets. Free Windows / Linux / OSX Legible on screen and printouts at smaller sizes I've community wiki'd this. I'm really looking for a list of fonts that qualify. From that list, people can pick what looks good to them.

    Read the article

  • creating a list of consecutive integers in c#

    - by Alex Bransky
    If there's already a way to get a List<int> of consecutive integers without a loop in C#, I don't know what it is, so I created a method for it.         public static List<int> GetIntegerListFromRange(int start, int end) {             if (end < start) {                 throw new ArgumentException("Faulty parameter(s) passed: lower bound cannot be less than upper bound.");                }             List<int> returnList = new List<int>(end - start + 1);             for(int i = start; i <= end; i++) {                 returnList.Add(i);             }             return returnList;         }

    Read the article

  • The underlying mechanism in 'yield return www' of Unity3D Game Engine

    - by thyandrecardoso
    In the Unity3D game engine, a common code sequence for getting remote data is this: WWW www = new WWW("http://remote.com/data/location/with/texture.png"); yield return www; What is the underlying mechanism here? I know we use the yield mechanism in order to allow the next frame to be processed, while the download is being completed. But what is going on under the hood when we do the yield return www ? What method is being called (if any, on the WWW class)? Is Unity using threads? Is the "upper" Unity layer getting hold of www instance and doing something?

    Read the article

  • Minimum team development sizes

    - by MarkPearl
    Disclaimer - these are observations that I have had, I am not sure if this follows the philosophy of scrum, agile or whatever, but most of these insights were gained while implementing a scrum scenario. Two is a partnership, three starts a team For a while I thought that a team was anything more than one and that scrum could be effective methodology with even two people. I have recently adjusted my thinking to a scrum team being a minimum of three, so what happened to two and what do you call it? For me I consider a group of two people working together a partnership - there is value in having a partnership, but some of the dynamics and value that you get from having a team is lost with a partnership. Avoidance of a one on one confrontation The first dynamic I see missing in a partnership is the team motivation to do better and how this is delivered to individuals that are not performing. Take two highly motivated individuals and put them together and you will typically see them continue to perform. Now take a situation where you have two individuals, one performing and one not and the behaviour is totally different compared to a team of three or more individuals. With two people, if one feels the other is not performing it becomes a one on one confrontation. Most people avoid confrontations and so nothing changes. Compare this to a situation where you have three people in a team, 2 performing and 1 not the dynamic is totally different, it is no longer a personal one on one confrontation but a team concern and people seem more willing to encourage the individual not performing and express their dissatisfaction as a team if they do not improve. Avoiding the effects of Tuckman’s Group Development Theory If you are not familiar with Tuckman’s group development theory give it a read (http://en.wikipedia.org/wiki/Tuckman's_stages_of_group_development) In a nutshell with Tuckman’s theory teams go through these stages of Forming, Storming, Norming & Performing. You want your team to reach and remain in the Performing stage for as long as possible - this is where you get the most value. When you have a partnership of two and you change the individuals in the partnership you basically do a hard reset on the partnership and go back to the beginning of Tuckman’s model each time. This has a major effect on the performance of a team and what they can deliver. What I have seen is that you reduce the effects of Tuckman's theory the more individuals you have in the team (until you hit the maximum team size in which other problems kick in). While you will still experience Tuckman's theory with a team of three, the impact will be greatly reduced compared to two where it is guaranteed every time a change occurs. It's not just in the numbers, it's in the people One final comment - while the actual numbers of a team do play a role, the individuals in the team are even more important - ideally you want to keep individuals working together for an extended period. That doesn't mean that you never change the individuals in a team, or that once someone joins a team they are stuck there - there is value in an individual moving from team to team and getting cross pollination, but the period of time that an individual moves should be in month's or years, not days or weeks. Why? So why is it important to know this? Why is it important to know how a team works and what motivates them? I have been asking myself this question for a while and where I am at right now is this… the aim is to achieve the stage where the sum of the total (team) is greater than the sum of the parts (team members). This is why we form teams and why understanding how they work is a challenge and also extremely stimulating.

    Read the article

  • How to fix Fullscreen focus error in Unity?

    - by Vagrant232
    Recently, I've been experiencing an error with programs that have a fullscreen mode with low resolution (80xx600 and below) in Unity. The problem isn't valid in gnomeshell. Whenever I launch an application, unity would enlarge the screen more than it should be and would only show me the upper left corner of the screen (I only see a magnified quarter of the screen). At first I thought that it was an issue related to wine but I later found out that native applications (such as world of goo) are affected as well. Apps that taken on the full screen but have a larger resolution don't face such an issue. Is it possible to get this fixed manually? Or do I have to wait for updates?

    Read the article

  • ATI graphics card, with gnome shell, screen flickers

    - by bioShark
    After installing gnome shell, without any problem, after log in the fonts are missing and it looks like crap...nothing is readable. Don't want to make it a double post, because my issue is similar to the one from this question but for me the problems have not been solved properly. After running the commands from that post, and installing the latest AMD 11.10 driver, the Gnome shell display issues have been solved. But each time I move the mouse in the upper left corner, to bring up the applications...my entire screen flickers. Without the applications been displayed, everything looks fine. Hardware: ATI HD4870, Intel Q6600.

    Read the article

  • How to make my microphone unmuted on startup?

    - by fiktor
    Every time I boot the microphone is muted. I want it to be unmuted instead. Of course I can do it by 6 easy steps every time: press sound icon in the upper right of the screen. press "Sound settings..." item in the bottom. wait about 10 seconds until a window loads. switch to input tab. uncheck "Mute" checkbox near a microphone icon. close the window. But I want it to be unmuted by default. I guess that in linux world this should be changing 0 to 1 in some line in some configuration file, but I don't really know, where is this line located.

    Read the article

  • ubuntu 12.10 graphic does not works correctly

    - by Amin
    I have installed Ubuntu 12.10 but my graphic does not works correctly. I used this command to installation: sudo apt-get install fglrx fglrx-amdcccle fglrx-dev But after the restarting my system, the side panel and upper one does not appear any more! I guessed it maybe that I used some incompatible packages so I removed the graphic card driver by this command: sudo apt-get purge fglrx fglrx-amdcccle fglrx-dev and tried it from graphical way from system setting > Software Sources > Aditional drivers and choosed the second option then applied change. But the resault waas such as before way!! I belive it is because of the Ubuntu does not know my graphic card. I am using VAIO VPCEA2TGX (N/A) and my graphic cart version is Mobility Radeon HD 5400 Series if it is matter. So now what is the exact problem and what I have to solve this?

    Read the article

  • 2D Ragdoll - should it collide with itself?

    - by Axarydax
    Hi, I'm working on a ragdoll fighting game as a hobby project, but I have one dilemma. I am not sure if my ragdoll should collide with itself or not, i.e. if ragdoll's body parts should collide. 2D world is somewhat different than 3D, because there are several layers of stuff implied (for example in Super Mario you jump through a platform above you while going up). The setup I'm currently most satisfied with is when only the parts which are joined by a joint don't collide, so head doesn't collide with neck, neck with chest, chest with upper arm etc, but the head can collide with chest, arms, legs. I've tried every different way, but I'm not content with either. Which way would recommend me to go?

    Read the article

  • The Minimalist Approach to Content Governance - Request Phase

    - by Kellsey Ruppel
    Originally posted by John Brunswick. For each project, regardless of size, it is critical to understand the required ownership, business purpose, prerequisite education / resources needed to execute and success criteria around it. Without doing this, there is no way to get a handle on the content life-cyle, resulting in a mass of orphaned material. This lowers the quality of end user experiences.     The good news is that by using a simple process in this request phase - we will not have to revisit this phase unless something drastic changes in the project. For each of the elements mentioned above in this stage, the why, how (technically focused) and impact are outlined with the intent of providing the most value to a small team. 1. Ownership Why - Without ownership information it will not be possible to track and manage any of the content and take advantage of many features of enterprise content management technology. To hedge against this, we need to ensure that both a individual and their group or department within the organization are associated with the content. How - Apply metadata that indicates the owner and department or group that has responsibility for the content. Impact - It is possible to keep the content system optimized by running native reports against the meta-data and acting on them based on what has been outlined for success criteria. This will maximize end user experience, as content will be faster to locate and more relevant to the user by virtue of working through a smaller collection. 2. Business Purpose Why - This simple step will weed out requests that have tepid justification, as users will most likely not spend the effort to request resources if they do not have a real need. How - Use a simple online form to collect and workflow the request to management native to the content system. Impact - Minimizes the amount user generated content that is of low value to the organization. 3. Prerequisite Education Resources Needed Why - If a project cannot be properly staffed the probability of its success is going to be low. By outlining the resources needed - in both skill set and duration - it will cause the requesting party to think critically about the commitment needed to complete their project and what gap must be closed with regard to education of those resources. How - In the simple request form outlined above, resources and a commitment to fulfilling any needed education should be included with a brief acceptance clause that outlines the requesting party's commitment. Impact - This stage acts as a formal commitment to ensuring that resources are able to execute on the vision for the project. 4. Success Criteria Why - Similar to the business purpose, this is a key element in helping to determine if the project and its respective content should continue to exist if it does not meet its intended goal. How - Set a review point for the project content that will check the progress against the originally outlined success criteria and then determine the fate of the content. This can even include logic that will tell the content system to remove items that have not been opened by any users in X amount of time. Impact - This ensures that projects and their contents do not live past their useful lifespans. Just as with orphaned content, non-relevant information will slow user's access to relevant materials for the jobs. Request Phase Summary With a simple form that outlines the ownership of a project and its content, business purpose, education and resources, along with success criteria, we can ensure that an enterprise content management system will stay clean and relevant to end users - allowing it to deliver the most value possible. The key here is to make it straightforward to make the request and let the content management technology manage as much as possible through metadata, retention policies and workflow. Doing these basic steps will allow project content to get off to a great start in the enterprise! Stay tuned for the next installment - the "Create Phase" - covering security access and workflow involved in content creation, enabling a practical layer of governance over our enterprise content repository.

    Read the article

  • Translate along local axis

    - by Aaron
    I have an object with a position matrix and a rotation matrix (derived from a quaternion, but I digress). I'm able to translate this object along world-relative vectors, but I'm trying to figure out how to translate it along local-relative vectors. So if the object is tilted 45 degrees around its Z-axis the vector (1, 0, 0) would make it move to the upper right. For world-space translations I simply turn the movement vector into a matrix and multiply it by the position matrix: position_mat = translation_mat * position_mat. For local-space translations I'd think I'd have to use the rotation matrix into that formula, but I see the object spin around instead when I apply a translation over time no matter where I multiply the rotation matrix.

    Read the article

  • Shrinking a Linux OEL 6 virtual Box image (vdi) hosted on Windows 7

    - by AndyBaker
    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Recently for a customer demonstration there was a requirement to build a virtual box image with Oracle Enterprise Manager Cloud Control 12c. This meant installing OEL Linux 6 as well as creating an 11gr2 database and Oracle Enterprise Manager Cloud Control 12c on a single virtual box. Storage was sized at 300Gb using dynamically allocated storage for the virtual box and about 10Gb was used for Linux and the initial build. After copying over all the binaries and performing all the installations the virtual box became in the region of 80Gb used size on the host operating system, however internally it only really needed around 20Gb. This meant 60Gb had been used when copying over all the binaries and although now free was not returned to the host operating system due to the growth of the virtual box storage '.vdi' file.  Once the ‘vdi’ storage had grown it is not shrunk automatically afterwards. Space is always tight on the laptop so it was desirable to shrink the virtual box back to a minimal size and here is the process that was followed. Install 'zerofree' Linux package into the OEL6 virtual box The RPM was downloaded and installed from a site similar to below; http://rpm.pbone.net/index.php3/stat/4/idpl/12548724/com/zerofree-1.0.1-5.el5.i386.rpm.html A simple internet search for ’zerofree Linux rpm’ was easy to perform and find the required rpm. Execute 'zerofree' package on the desired Linux file system To execute this package the desired file system needs to be mounted read only. The following steps outline this process. As root: # umount /u01 As root:# mount –o ro –t ext4 /u01 NOTE: The –o is options and the –t is the file system type found in the /etc/fstab. Next run zerofree against the required storage, this is located by a simple ‘df –h’ command to see the device associated with the mount. As root:# zerofree –v /dev/sda11   NOTE: This takes a while to run but the ‘-v’ option gives feedback on the process. What does Zerofree do? Zerofree’s purpose is to go through the file system and zero out any unused sectors on the volume so that the later stages can shrink the virtual box storage obtaining the free space back. When zerofree has completed the virtual box can be shutdown as the last stage is performed on the physical host where the virtual box vdi files are located. Compact the virtual box ‘.vdi’ files The final stage is to get virtual box to shrink back the storage that has been correctly flagged as free space after executing zerofree. On the physical host in this case a windows 7 laptop a DOS window was opened. At the prompt the first step is to put the virtual box binaries onto the PATH. C:\ >echo %PATH%   The above shows the current value of the PATH environment variable. C:\ >set PATH=%PATH%;c:\program files\Oracle\Virtual Box;   The above adds onto the existing path the virtual box binary location. C:\>cd c:\Users\xxxx\OEL6.1   The above changes directory to where the VDI files are located for the required virtual box machine. C:\Users\xxxxx\OEL6.1>VBoxManage.exe modifyhd zzzzzz.vdi compact  NOTE: The zzzzzz.vdi is the name of the required vdi file to shrink. Finally the above command is executed to perform the compact operation on the ‘.vdi’ file(s). This also takes a long time to complete but shrinks the VDI file back to a minimum size. In the case of the demonstration virtual box OEM12c this reduced the virtual box to 20Gb from 80Gb which was a great outcome to achieve.

    Read the article

< Previous Page | 26 27 28 29 30 31 32 33 34 35 36 37  | Next Page >