ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/brains/BlockSnapshotManager.cpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/brains/BlockSnapshotManager.cpp (file contents):
Revision 2035 by tim, Tue Feb 15 19:36:07 2005 UTC vs.
Revision 2042 by tim, Thu Feb 17 15:18:36 2005 UTC

# Line 40 | Line 40
40   */
41   #include <algorithm>
42   #include "brains/BlockSnapshotManager.hpp"
43 + #include "utils/residentMem.h"
44   #include "utils/physmem.h"
45   #include "utils/Algorithm.hpp"
46   #include "brains/SimInfo.hpp"
# Line 54 | Line 55 | BlockSnapshotManager::BlockSnapshotManager(SimInfo* in
55      nAtoms_ = info->getNGlobalAtoms();
56      nRigidBodies_ = info->getNGlobalRigidBodies();
57  
58 <    double avalPhysMem = physmem_available();
58 >    double physMem = physmem_total();
59 >    double rssMem = residentMem();
60 >    double avaliablePhysMem = physMem - rssMem;
61      
62      int bytesPerStuntDouble = DataStorage::getBytesPerStuntDouble(storageLayout);
63  
64      int bytesPerFrame = (nRigidBodies_ + nAtoms_) * bytesPerStuntDouble;
65  
66 <    int frameCapacity = int (avalPhysMem / bytesPerFrame);
66 >    int frameCapacity = int (avaliablePhysMem / bytesPerFrame);
67      
68      nSnapshotPerBlock_ = frameCapacity /blockCapacity_ ;
66
69      reader_ = new DumpReader(info, filename);
70      nframes_ = reader_->getNFrames();
71  
# Line 79 | Line 81 | BlockSnapshotManager::BlockSnapshotManager(SimInfo* in
81      blocks_.back().second = nframes_;
82  
83      snapshots_.insert(snapshots_.begin(), nframes_, static_cast<Snapshot*>(NULL));  
84 +
85 +    std::cout << "physmem = " << int(physMem) << "\trssMem =  "<< int(rssMem) << "\t availablePhysMem = " << int(avaliablePhysMem) <<std::endl;
86 +    std::cout << "nSnapshotPerBlock = " << nSnapshotPerBlock_ << "\t total block = " << nblocks << std::endl;
87      
88   }
89  
# Line 178 | Line 183 | bool BlockSnapshotManager::hasZeroRefBlock(){
183   }
184  
185   bool BlockSnapshotManager::hasZeroRefBlock(){
186 <    return std::find(activeRefCount_.begin(), activeRefCount_.end(), 0);
186 >    return std::find(activeRefCount_.begin(), activeRefCount_.end(), 0) != activeRefCount_.end() ?  true : false;
187   }
188  
189   int BlockSnapshotManager::getFirstZeroRefBlock(){

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines