"Not enough space" - on DB.open

Hello,
My application is using BDB 3.3.1.
I’m running with the following Parameters:
m_dbEnv.set_cachesize(0, 536870912, 0);
m_dbEnv.set_verbose(Db.DB_VERB_CHKPOINT, true);
m_dbEnv.set_verbose(Db.DB_VERB_RECOVERY, true);
m_dbEnv.set_verbose(Db.DB_VERB_DEADLOCK, true);
m_dbEnv.set_verbose(Db.DB_VERB_WAITSFOR, true);
m_dbEnv.set_lk_detect(Db.DB_LOCK_DEFAULT);
m_dbEnv.set_lk_max_lockers(4096);
m_dbEnv.set_lk_max_locks(1000000);
m_dbEnv.set_lk_max(1000000);
m_dbEnv.set_tx_max(70);
m_dbEnv.set_lg_regionmax(204800);
But despite of the relatively large numbers of lockers and transactions, I’m getting :
com.sleepycat.db.DbException: Not enough space: Not enough space
On: com.sleepycat.db.Db._open(Native Method)
I want to know from lack of what resource the “Not enough space” is thrown?
Is it because of cachesize/ lockers/ locks/ lockObjects or may be something else.
Some statistics: when the error happened the whole BDB size was 5284880 bytes
While I’m running now with 5546186 bytes and no error occur.
Please advice what can be done to find the problem?
If it seems like a memory leak – please advice, on how it can be found.
Thank you in Advance
Shira

Hi,
The "Not enough space" error is corresponding to ENOMEM - 12, that's described here:
http://www.oracle.com/technology/products/berkeley-db/faq/db_faq.html#8
This error indicates that some resource has been exhausted. There are several ways to find out what is causing this error:
1) Configure the Berkeley DB error stream, which can be done like this:
dbenv->set_errfile(dbenv, stderr);
If you don't have a database environment handle, you can call this on the database handle:
db->set_errfile(db, stderr);
With this, you should see a message explaining what resource has been exhausted.
2) Run the db_stat utility:
db_stat -e -h /path/to/databases
Usually you can solve the problem by configuring the lock limits ( http://www.oracle.com/technology/documentation/berkeley-db/db/ref/lock/max.html ) -- they are often what runs out, or the cache size ( http://www.oracle.com/technology/documentation/berkeley-db/db/ref/am_conf/cachesize.html ).
Bogdan Coman

Similar Messages

  • TS4036 I upgraded to an Iphone 5 and open  new Icloud account, I then backed up my phone on my brothers Mac Pro, I now want to restore my info to my phone and I get a message that says not enough  space. What do I do

    I upgraded to an Iphone 5 and open  new Icloud account, I then backed up my phone on my brothers Mac Pro, I now want to restore my info to my phone and I get a message that says not enough  space. What do I do

    Delete all back ups on MacBook and create new back up. Restart his MB and attempt to restore again. Do not forget to erase your iphone 5 before restore.

  • Help: startup-config file open failed (Not enough space)

    Who can help me ? I've an uc500 and he stil running. Now i want to change something and want to save the configuration first. But the following message appears : startup-config file open failed (Not enough space)
    this is the output from a dir flash:
    Directory of nvram:/
      227  -rw-       25897                    <no date>  startup-config
      228  ----        1933                    <no date>  private-config
      229  -rw-       25897                    <no date>  underlying-config
        1  ----          83                    <no date>  persistent-data
        2  -rw-           0                    <no date>  ifIndex-table
        3  -rw-         577                    <no date>  IOS-Self-Sig#1.cer
        4  -rw-         615                    <no date>  IOS-Self-Sig#2.cer
        5  -rw-         660                    <no date>  vlan.dat
        6  -rw-         107                    <no date>  cca.xml
        7  -rw-         586                    <no date>  IOS-Self-Sig#3.cer
    262144 bytes total (227094 bytes free)

    OK.
    Try this:
    conf t
    service compress-config
    And see if that helps. 
    If not, see if you can tftp the running config off the router and TFTP it back to startup-config:
    copy run tftp
    copy tftp start
    Then you can try a reload and see if it is cured.
    I googled and found a few cases where alot of ACLs or NAT rules could cause MALOC errors (you would see those in your logs) when implemented and could manifest itself in this condition, which could be cured after the next reload, which is why I suggested that.
    Of course, dont be remote when you do this and only do it during a maintenance window.
    Steve

  • Wont sync because of not enough space but it also says i have free space at the bottom

    I synced my entire itunes at first. Then  I got some more music off an old ipod and wanted to put it on knowing I have to select specific artist or albums instead of the whole collection. I have around 3000 songs on the ipod now. Its not letting me sync around 2000 songs it says because not enough space.  The gauge at the bottom says i have 6 gbs left and the ipod it self says it has 3 gbs.  This is all besides the point because Im trying to put less stuff on there.  Why?

    hey ,
    if it is showing you 34 mails them it is correct. when you see your mail. apple has a smart way of arranging your mail.suppose you recieve 4 mails from one email id it will show you under one highlighted mail. so when you open a mail from anyone trying scrolling it down and you will find your missing mails.

  • Consolidate Library, Not enough Space, itl files, genuius, external drive,

    In the interest of putting something back, thought I would post this
    Objective
    To have a single iTunes Library, on a Server PC, (Windows Home Server) so that if a change is made while on PC (a) or PC (b) we see the change.
    Setup
    PC (a) living room
    PC (b) kitchen
    Windows home server, on 24 x 7
    In doing this I made a number of errors, and hope you learn from this, and also found a couple of 'features' that made life harder.
    Standard approach
    1) in iTune preferences, alter the position where you want to store your data, so this could be
    //Server/Music/iTunes/Alison/Library
    You need the subdirectory as the Library is where your itunes will reside, and your internal itunes file one directory up.
    This process will change pointers in te internal itunes files, but still references the music in the various locations it is stored.
    2) Now go to the File Menu/ Library / Consolidate Library
    This will move all your music to teh location you specified above.
    At this point I ran into my first problem, despite having adequate space on the Windows Home Server (WHS) I would get the error 'not enough space to copy files'
    I believe the reason I was getting this error message was that some of the files paths were over 256 chat in length. There is also a limitation in WHS on this, but I believe the issue in this case was with iTunes, not WHS.
    To get around this issue, I changed the location of where I was going to consolidate all the files to, to an internal disk on the PC where my itunes library was. so Instead of;
    //Server/Music/iTunes/Alison/Library
    I used m:/iTunes/Alison/Library
    This worked, so I had all my data (now duplicated effectively, but consolidated) on the same PC.
    The reason people say use consolidate is that it makes the move easy and changes all the internal files, but as I couldn't consolidate to the location I required due to the error, I now have to move all the rest of the data manually.
    3) Copy the Library file on the local PC drive to the WHS Library Directory;
    Copy m:/iTunes/Alison/Library => //Server/Music/iTunes/Alison/Library
    4) I then edited the internal itunes files, so that it pointed to the WHS server location. I edited the itunes internal file;
    Settings\Alison\My Documents\My Music\iTunes\iTunes Music Library.xml
    I did this in notepad, with a find and replace command,
    Find 'm:/'
    Replace '/Server/Music/
    The above bit does require some thought and if you have made it this far, have a look at the xml file structure, and you will be able to figure out how to alter the path.
    This has the effect of pointing the iTunes file at where the music is now stored, you can confirm this by starting iTunes and getting it to show the track it is playing in Explorer. If it is pointing at your new location you are good to go.
    Remember I only had to do this, as I was unable to consolidate to the location I really wanted to go to, due to the space error.
    Also note that I had 2gb memory on the machine I did the find and replace on, as Notepad is not memory friendly.
    5) Apple has some other internal files that need to be corrected as well;
    iTunes Library.itl
    iTunes Library Genius.itdb (if running genius)
    iTunes Library Extras.itdb (believe is genius related)
    sentinel (no idea, but saw this file !)
    To get these all corrected to the new WHS (or external drive) I created a iTunes Library.itl file with zero bytes in the directory Settings\Alison\My Documents\My Music\iTunes\, did this in notepad. I then started iTunes, and it created all of the above files with the new file locations. You can't edit the above files, apple encrypts them
    6) you now move all of the corrected internal files to the WHS home server location;
    //Server/Music/iTunes/Alison
    iTunes Library.itl
    iTunes Music Library.xml
    iTunes Library Genius.itdb
    iTunes Library Extras.itdb
    sentinel
    7) Now you repoint the itunes to the new location for the internal files, specifically the correct itunes library, there are a number of references on the net to do this that you press the shift key(PC) or the option key (Mac)
    I am running a PC, and pressing the shift key while clicking on the itunes icon on the desktop does not work. You have to hold the shift key while starting itunes from the Start Menu, Programs, Itunes. This will then give you an option of which library to look at, and look at the library on the WHS drive (or external drive)
    Thats it
    Hope this helps someone who has to battle with iTunes like I did. Due to the variosu errors, size of the library (200gb) and other issues, whole process took 2 days, if doing this again would have taken a couple of hours.
    DGW

    Hiya, that's sweet to post what you went through!
    I have a question, though - are you able to have both PCs running itunes at the same time?
    When I try this, I get an error message that the ITL file is locked on the 2nd instance I try to open. I'm using an exHD, not a server.
    Also - all that editng of the XML file doesn't save ratings, date added, and some other metadata. If you'd just moved the ITL file, that metadata would be intact.

  • Weblogic.security.Encrypt  -and-  Not enough space

    This post has two questions.
    I have a simple application on wls9.2 that is a web front end to the weblogic.security.Encrypt command line utility. It seems to work fine, but after a little bit of use I am seeing the following:
    java.io.IOException: Not enough space
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:65)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
    at java.lang.Runtime.exec(Runtime.java:591)
    at java.lang.Runtime.exec(Runtime.java:429)
    at java.lang.Runtime.exec(Runtime.java:326)
    at encrypt.wls92Encrypt(Unknown Source)
    at encrypt.doGet(Unknown Source)
    at encrypt.doPost(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3245)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    1) Here is the forking code:
    try {
    proc = Runtime.getRuntime().exec("java -Dweblogic.RootDirectory="+rootDir+" weblogic.security.Encrypt "+password);
    BufferedReader bf=new BufferedReader(new InputStreamReader(proc.getInputStream()));
    line=bf.readLine();
    bf.close();
    } catch (IOException e) {
    Is there a better way to do this, without forking? Seems odd to execute a java call, in java, just to get the encrypted string. I'd like to call weblogic.security.Encrypt inline, but have been unable to do so.
    2) Why would the Not enough space error creep up? Researching it, it seems like it is a swap problem, but that does not seem to be the case on our system. A top shows:
    Memory: 8192M phys mem, 2769M free mem, 5004M swap, 5004M free swap
    at the time of failure. Disk usage is looking great as well. The JVM heapsize is around 80% free. An lsof on the system shows about 150 open files on the managed server.
    Any ideas on how to troubleshoot this would be appreciated.
    Thanks

    I use CCleaner from the AppStore to delete the 'useless' stuff. It's free and works great for me

  • Not enough space exception

    hi
    i am trying to insert 150000 records into berkeley db xml 2.1.8 using .net api. but after inserting 19000 records it throws an exception not enough space exception.
    but when i increase cache size it throws database recover exception .
    plz help , how can i solve this problem
    Regards.............
    Shailendra Yadav

    thanks john
    i m able to insert 150000 records using txn.SynCommit() , but the performence is very low . now when i m retriving the same records again it is throwing the same Dbc::get: Not enough space, exception code = DATABASE_ERROR error
    plz suggest me how can i increase my performence and recover this error while retriving.
    my code is..........
    using Sleepycat.Db;
    using Sleepycat.DbXml;
    using System;
    using System.Data;
    using System.IO;
    namespace BDataBase
         public class SimpleAdd
              private static string theContainer = "simpleExampleData.dbxml";
              public static void Main(string[] args)
                   string [] asa = {"-h",@"d:\BDBData"};
                   args=asa;
                   string envdir = parseArguments(args);
                   try
                        // Open an environment and manager
                        using(Manager mgr = CreateManager(envdir))
                             // Open a transactional container
                             ContainerConfig containerconfig = new ContainerConfig();
                             containerconfig.Transactional = true;
                             Transaction txn1 = mgr.CreateTransaction();
                             mgr.CreateContainer(null,@"D:\BDBData\simpleExampleData.dbxml", containerconfig);
                             using(Container container = mgr.OpenContainer(null, theContainer, containerconfig))
                                  // Start a transaction
                                  using(Transaction txn = mgr.CreateTransaction())
                                       // Create an update context
                                       using(UpdateContext uc = mgr.CreateUpdateContext())
                                            try
                                                 string word = reader.GetString(0);
                                                 // Create string contents for documents
                                                 string document1 = "<word>शैलेन्द्र</word>";
                                                 string document2 = "<word>2308</word>";
                                                 // Put the document, asking DB XML to generate a name
                                                 DocumentConfig docconfig = new DocumentConfig();
                                                 docconfig.GenerateName = true;
                                                 container.PutDocument(txn, "", document1, uc, docconfig);
                                                 container.PutDocument(txn, "", document2, uc, docconfig);
                                            catch(Exception dataExp)
                                                 System.Console.WriteLine(""+dataExp);
                                            // Commit the writes. This causes the container write operations
                                            // to be saved to the container.
                                            txn.Commit();
                                  //Find all the Vendor documents in the database
                                  doQuery(mgr, "collection(\"" + theContainer + "\")/word");
                   catch(DbXmlException e)
                        System.Console.WriteLine("Error performing document add against " + theContainer);
                        System.Console.WriteLine(e.Message .ToString());
              private static void doQuery(Manager mgr, string query)
                   // Perform a single query against the referenced container.
                   System.Console.WriteLine("Exercising query: '" + query + "'.");
                   System.Console.WriteLine("Return to continue: ");
                   //System.Console.ReadLine();
                   // Perform the query
                   using(QueryContext context = mgr.CreateQueryContext())
                        Results results = mgr.Query(null, query, context, new DocumentConfig());
                        // Iterate over the results
                        while(results.MoveNext())
                             System.Console.WriteLine(results.Current);
                        System.Console.WriteLine(results.Size + " results returned for query '" + query + "'.");
              public static Manager CreateManager(string envdir)
                   EnvironmentConfig envconf = new EnvironmentConfig();
                   envconf.CacheSize = 50 * 1024 * 1024;
                   envconf.Create = true;
                   envconf.InitializeCache = true;
                   envconf.Transactional = true;
                   envconf.InitializeLocking = true;
                   envconf.InitializeLogging = true;
                   envconf.Recover = true;
                   ManagerConfig mgrconfig = new ManagerConfig();
                   mgrconfig.AdoptEnvironment = true;
                   Sleepycat.Db.Environment env = new Sleepycat.Db.Environment(envdir, envconf);
                   try
                        return new Manager(env, mgrconfig);
                   catch(System.Exception e)
                        env.Dispose();
                        throw e;
              private static void Usage()
                   System.Console.WriteLine("This program adds a few simple XML documents to a specified container.");
                   System.Console.WriteLine("You should run exampleLoadContainer before running this example.");
                   System.Console.WriteLine("You are only required to pass this command the path location of the database");
                   System.Console.WriteLine("environment that you specified when you loaded the examples data:");
                   System.Console.WriteLine();
                   System.Console.WriteLine("\t-h <dbenv directory>");
                   System.Console.WriteLine("For example:");
                   System.Console.WriteLine("\tsimpleAdd.exe -h examplesEnvironment");
                   System.Environment.Exit(-1);
              private static string parseArguments(string[] args)
                   string envdir = null;
                   for(int i = 0; i < args.Length; ++i)
                        string arg = args;
                        if((arg.StartsWith("-")
    #if WIN32
                    || arg.StartsWith("/")
    #endif
                         ) && arg.Length > 1)
                             switch(arg[1])
                                  case 'h':
                                       ++i;
                                       if(i >= args.Length)
                                            System.Console.WriteLine("Invalid option: " + arg);
                                            Usage();
                                       envdir = args[i];
                                       break;
                                  default:
                                       System.Console.WriteLine("Unknown option: " + arg);
                                       Usage();
                                       break;
                        else
                             System.Console.WriteLine("Too many arguments: " + arg);
                             Usage();
                   if(envdir == null)
                        System.Console.WriteLine("Environment directory not found.");
                        Usage();
                   return envdir;
    Shailendra.........

  • Write: 0xecf6eb0, 4096: There is not enough space on the disk.

    Our applications occasionally get the error in the function specified by set_errcall: "[prefix] write: 0xecf6eb0, 4096: There is not enough space on the disk. " Preceded by "DB00.db: write failed for page"
    There most certainly is enough space on disk for one. In this most recent case, the Db::put's succeeded for a full hour before finally failing with an out of space error. At which point, I now have 30 log files and my own log files are filled with Berkeley error callbacks.
    How come the set_errcall doesn't return an integer error code? If it did, we would be able to analyze that and decide any action to take. In this example, I might consider closing down all handles and checkpointing then removing logs since maybe the number of logs has gotten to large. Analyzing a string doesn't make sense since that might change with Berkeley versions.
    Anyway, can anyone give any advice as to why we would get an out of space error (with plenty of disk space.) And also how to handle such an error.
    Edited by: AMARCIONEK on Jun 3, 2009 10:10 AM

    The platform is C++ API version 4.7.25 running on Windows Server 2003 Enterprise SP2. The database is on an NTFS disk. We have tested database files up to 20GB in size. The following is my config.
    m_pDbEnvironment->set_cachesize(0, 10 * 1024 * 1024, 1);
    m_pDbEnvironment->set_lg_max(20000000);
    m_pDbEnvironment->set_lg_bsize(10 * 1024 * 1024);
    m_pDbEnvironment->set_mp_max_write(4, 0);
    m_pDbEnvironment->set_mp_mmapsize(2 * 1024 * 1024);
    m_pDbEnvironment->set_mp_max_openfd(1);
    // set the alloc methods into the environment
    m_pDbEnvironment->set_alloc(QPRT_ALLOC, QPRT_REALLOC, QPRT_FREE);
    m_pDbEnvironment->set_lk_detect(DB_LOCK_YOUNGEST);
    m_pDbEnvironment->set_timeout(500000, DB_SET_LOCK_TIMEOUT);
    m_pDbEnvironment->set_timeout(200000, DB_SET_TXN_TIMEOUT);
    m_pDbEnvironment->set_flags(DB_REGION_INIT, 1);
    m_pDbEnvironment->set_tx_max(5000);
    m_pDbEnvironment->set_flags(DB_TXN_WRITE_NOSYNC, 1);
    m_pDbEnvironment->log_set_config(DB_LOG_ZERO, 1);
    m_pDbEnvironment->set_lk_max_lockers(5000);
    m_pDbEnvironment->set_lk_max_locks(5000);
    m_pDbEnvironment->set_lk_max_objects(5000);
    m_pDbEnvironment->open((zKSz)sPath,     DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL |
                                       DB_THREAD | DB_INIT_TXN | DB_RECOVER | DB_LOCKDOWN,
                                       0);
    We also checkpoint every 2 to 5 minutes with a 5MB threshold. We also explicitly call pDbEnvironment->log_archive(kpNil, DB_ARCH_REMOVE) after checkpointing.
    Primary and (up to 4) secondary databases are opened with DB_CREATE | DB_AUTO_COMMIT flags.
    I'd also appreciate any suggestions as to how to lower the memory footprint used by Berkeley. Ever since we've integrated this DB, our memory usage has been too large and inconsistent. There are 6 independent environments the product uses during runtime. Each of these environments have a primary database and (up to 4) secondary databases, which are all opened with DB_CREATE | DB_AUTO_COMMIT flags.
    Just recently we have added a memp_trickle every 5 seconds at 40% (Anything lower and it has no affect in the environment, in other words, db_stat shows dirty pages forced from the cached instead of trickled.) We are trying to reproduce this issue at this point.

  • Kstat_open sets errno to "Not enough space"

    I wrote the following test program:
    <pre>
    int main()
    kstat_ctl_t * kc;
    perror("1");
    kc = kstat_open();
    perror("2");
    if (!kc) printf("kstat_open failed\n");
    </pre>
    and got the following output:
    1: Error 0
    2: Not enough space
    Reason I wrote the test was that in another program, I was calling kstat_open() and it was returning NULL with this error, and I wanted to know why. Seems the error is misleading. Any suggestions as to how else I might diagnose my problem, please?

    Here are some general rules for error numbers:
    <UL>
    * For functions in section 2 of the manual, they return success OR they return failure and set errno. You should not check errno after a successful system call. These functions will clearly say in their man page that they set errno and what values it might get.
    * For functions in section 3 of the manual, they just return success or failure. In either case, they may or may not change errno. The fact that errno did or did not change tells you nothing about whether they succeeded or why they failed. The man pages for these functions do not show error numbers, so you should not check errno or use perror.
    </UL>
    Your test shows that kstat_open can set errno to ENOMEM even when the open succeeds. This happens when kstat works to figure out how much buffer space it needs, and it is expected behavior.
    When can kstat_open fail? It will fail if
    * the open of /dev/kstat fails
    * an ioctl(KSTAT_IOC_CHAIN_ID or KSTAT_IOC_READ) fails
    * a call to calloc fails
    If you use the truss command, you will get a change to see what system calls libkstat is doing. This might help shed some light on the problem.

  • PS 3: The operation could not be completed. Not enough space.

    Pictures are not shown in the small window in Bridge, and if I click on a thumbnail, it opens CS with the message: The operation could not be completed. Not enough space.
    What can I do?
    Thanks

    You should be able to check Don't Show Again

  • Java.io.IOException: Not enough space at sun.nio.ch.FileChannelImpl.map0(Na

    Hi
    I am getting this error
    java.io.IOException: Not enough space
    at sun.nio.ch.FileChannelImpl.map0(Native Method)
    at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:728)
    I ahve a shell script which spawn three jvms
    Two jvms have XMX=12288M
    and the third XMX=10240M
    Basically each jvm has around 12 threads to read in xml files and process them.
    The HP machine has around 70 GB RAM.
    So, in total the java uses around 36 GB only but still it crashes.
    I then change the xml files so that the third jvm does not read any files
    but it is just spawned for the sake of it.
    Even then it crashes with the same error.
    Any idea what can be done to fix this.
    Thanks

    i have OSF DCE 1.1/HP DCE 1.8I'm afraid I'm not familiar with that.
    Other than the comments I posted above,
    perhaps ask on HP user groups to find tips
    on increasing the available memory?
    Oh, another thing: when you issue "java -Xmx", you are specifying
    the desired amount of memory. But in UNIX, there is a per-user upperlimit.
    Try typing "ulimit -a" on a command line, and it will
    tell you a hard limit that was configured by the machine's administrator.
    Eg. I have 4G on my machine, but by default, my user account
    is limited to 512M per process (and no matter what I type in Xmx,
    my java process cannot exceed the hard limit set by my
    administrator)
    % ulimit -a
    core file size (blocks, -c) 0
    data seg size (kbytes, -d) 524288
    file size (blocks, -f) unlimited
    max locked memory (kbytes, -l) unlimited
    max memory size (kbytes, -m) unlimited
    open files (-n) 11095
    pipe size (512 bytes, -p) 1
    stack size (kbytes, -s) 65536
    cpu time (seconds, -t) unlimited
    max user processes (-u) 5547
    virtual memory (kbytes, -v) unlimited

  • "Not enough space" DatabaseException while using DatabaseEnvironment

    I want to create some database in a DatabaseEnvironment which will be store a large data, such as 10TB. But I always get an DatabaseException with message "Not enough space",  of course there are enough space to store these data in the driver. It throws a database exception while put data and the database size reach a size(or 125% size) specified by CacheInfo, even though I close and then reopen the database environment and database. In addition,  it will throw an exception when I give the param "gbytes" a value larger than 1 in CacheInfo,  such as  "new CacheInfo(2, 0, 1)". The OS is windows 8. Why?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Diagnostics;
    using BerkeleyDB;
    namespace TestDatabaseEnvironment
        class Program
            static void Main(string[] args)
                string Dir = @"D:\Temp2\";
                string Name = "TestEnv";
                if (Directory.Exists(Dir))
                    Directory.Delete(Dir, true);
                DatabaseEnvironmentConfig envConfig = new DatabaseEnvironmentConfig();
                envConfig.Create = true;
                envConfig.DataDirs.Add(Dir);
                envConfig.CreationDir = Dir;
                envConfig.MPoolSystemCfg = new MPoolConfig();
                //envConfig.MPoolSystemCfg.CacheSize = new CacheInfo(2, 0, 1);
                envConfig.MPoolSystemCfg.CacheSize = new CacheInfo((uint)0, (uint)64 * 1024 * 1024, 1);
                Console.WriteLine("CacheSize:" +
                    envConfig.MPoolSystemCfg.CacheSize.Gigabytes.ToString() + "GB and " +
                    envConfig.MPoolSystemCfg.CacheSize.Bytes.ToString() + "Bytes");
                envConfig.UseMPool = true;
                envConfig.ErrorPrefix = Name;
                if (!Directory.Exists(Dir))
                    Directory.CreateDirectory(Dir);
                DatabaseEnvironment Env = DatabaseEnvironment.Open(Dir, envConfig);
                HashDatabaseConfig cfg = new HashDatabaseConfig();
                cfg.Env = Env;
                cfg.Creation = CreatePolicy.IF_NEEDED;
                HashDatabase database1 = HashDatabase.Open(null, "db1", cfg);
                HashDatabase database2 = HashDatabase.Open(null, "db2", cfg);
                Stopwatch sw = new Stopwatch();
                sw.Start();
                for (int i = 0; i < 100000000; i++)
                    DatabaseEntry dbKey = new DatabaseEntry(BitConverter.GetBytes(i));
                    DatabaseEntry dbValue = new DatabaseEntry(Encoding.UTF8.GetBytes(new string('A', 10 * 1024) + i.ToString()));
                    database1.Put(dbKey, dbValue);
                    database2.Put(dbKey, dbValue);
                    if (i % 100 == 0)
                        Console.WriteLine(i.ToString() + ":" + sw.Elapsed.TotalSeconds.ToString());
                Console.WriteLine("TimeSpan:" + sw.Elapsed.TotalSeconds.ToString());
                database1.Close();
                database2.Close();
                Env.Close();

    Hi,
    I have run your program on both 32 and 64 bit Windows, but there is no error of "Not enough space". The program is able to inserts the records until it fills up the disk. I have tried running it with CacheInfo(0, 64 * 1024 * 1024, 1) and CacheInfo(1, 64 * 1024 * 1024, 1).
    For the cachesize problem, I can reproduce the failure when the program requests a single 2GB cache. But this is normal.
    32-bit Windows hardly ever has a 2GB contiguous free region in its address map. There are .DLLs and data segments mapped scattered all over the address space, include just below 2GB. Since the most data that a 32-bit application can possibly have is 3 GB (and even that is unusual), there is no single 2GB space for a mapping.
    This is not a BDB bug. If you really need 2GB cache, you could try several smaller regions to get closer to 2GB.
    Moreover, if you pass the null db file name to HashDatabase.Open(). The database will be created in-memory. That means the database stays inside the environment cache only. So if the database grows bigger than the cache, it will return the "Not enough space" error.
    If there is any question, please let me know.
    Regards,
    Cindy Zeng

  • Macintosh HD not enough space for time machine backup?

    I have a 128GB Macbook Air. When I first got it, I made a Time Machine backup of the system, but now when I go into the recovery and choose to restore from backup, it says the Macintosh HD only has 112 GB and that it's not enough space for some reason. Why would it have me do a backup that I can't Restore? I need to restore the backup.

    This procedure is a diagnostic test. It makes no changes to your data.
    Please triple-click anywhere in the line below on this page to select it:
    { diskutil list; echo; diskutil cs list; } | pbcopy
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window by pressing the key combination command-V. I've tested these instructions only with the Safari web browser. If you use another browser, you may have to press the return key after pasting.
    Wait for a new line ending in a dollar sign ($) to appear below what you entered.
    The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message.
    The Terminal window doesn't show the output. Please don't copy anything from there.
    If any personal information appears in the output, anonymize before posting, but don’t remove the context.

  • Not enough space on disk

    Hello, I am a newbie here. I am asking some help for a vexing problem that I am having with my Blackberry 8320 Curve. I have a Windows XP Pro operating system, Blackberry desktop manager version 4.2.2.14, and roxio easy media creator version 9.
    I open up the desktop manager, connect my PC and blackberry. It then says connected. I then go to media on both the blackberry and on the desktop manager.
    I have an album that has been transferred to the roxio creator, and the songs are ishown n the top pane. I also have highlighted device memory and highlighted music folder.
    When I highlight a song and press the copy down button, any music that is over 2 minutes in length refuses to copy completely into the music folder. It does start to copy, then stops and says with an error message: not enough space on disk. For heavens sake, I am not copying it to drive c, I am copying it to my blackberry! It seems I am doing most of this process right because 2 songs on the album less than 2 minutes in length have copied to my bb, but the rest over 2 minutes will not copy.
    What in the world am I doing wrong?
    Thanks!

    If you are moving the music to your device memory, files over 2.9MB won't copy.
    Put them on your Media Card.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Not enough space on itunes?

    I am trying to copy my music library (24gb) from external hard drive to my c drive on laptop, and get error message saying not enough space on i tunes?..can anyone help?

    Spencer, can you clarify what you are doing?  Copying files from one drive to another does not even require iTunes to be open, so it is not clear how you are getting that error message.

Maybe you are looking for