Σε μερικά σενάρια, ενδέχεται να απαιτείται η χρήση ενδιάμεσης μνήμης μεταξύ της ρουτίνας και του ελεγκτή ρουτινών. Για την ενδιάμεση μνήμη χρησιμοποιείται ένα κανάλι δεδομένων μεταξύ της ρουτίνας και του ελεγκτή ρουτινών. Τα κανάλια δεδομένων προτιμούνται στις περιπτώσεις όπου η απόδοση της ρουτίνας είναι ιδιαίτερα σημαντική. Χωρίς τη χρήση ενδιάμεσης μνήμης, η ρουτίνα μπορεί να μπλοκάρει κατά την εξαγωγή δεδομένων αν ο πελάτης δοκιμής δεν μπορεί να επεξεργαστεί τα δεδομένα εξόδου όσο γρήγορα απαιτείται.
Το κανάλι δεδομένων ρυθμίζεται μέσω του στοιχείου <Agent> στο αρχείο ρυθμίσεων της πρόσθετης λειτουργίας που περιέχει τη ρουτίνα. Για παράδειγμα, το κανάλι δεδομένων για τη ρουτίνα δημιουργίας προφίλ Java (Java Profiling Agent) ρυθμίζεται μέσω του στοιχείου <Agent> της ρουτίνας στο αρχείο plugins/org.eclipse.tptp.platform.collection.framework_<version>/config/pluginconfig.xml.
Για να τροποποιήσετε το στοιχείο <Agent> στο αρχείο ρυθμίσεων:
<Agent name="Java Profiling Agent" type="Profiler"
dataChannelSize="64MB">
</Agent>
Στο σύστημα
Linux, το μέγιστο μέγεθος του καναλιού δεδομένων περιορίζεται από το μέγιστο
μέγεθος της κοινόχρηστης μνήμης του συστήματος. Η σχετική ρύθμιση βρίσκεται στο
/proc/sys/kernel/shmmax. Αν η τιμή του γνωρίσματος
dataChannelSize είναι μεγαλύτερη από αυτή που καθορίζεται στο
/proc/sys/kernel/shmmax, η δημιουργία του καναλιού δεδομένων θα αποτύχει.
Στο σύστημα Solaris, το μέγιστο μέγεθος του
καναλιού δεδομένων περιορίζεται από το μέγεθος της κοινόχρηστης μνήμης του
συστήματος. Η σχετική ρύθμιση βρίσκεται στο γνώρισμα shmmax στο
/etc/system. Αν η τιμή του γνωρίσματος dataChannelSize είναι μεγαλύτερη
από το γνώρισμα shmmax που ορίζεται στο /etc/system, το κανάλι
δεδομένων δεν θα δημιουργηθεί. Αν δεν υπάρχει αυτό το γνώρισμα, η τιμή του
θεωρείται ότι είναι 1 MB (προεπιλογή).
Στο σύστημα HP-UX, το μέγιστο μέγεθος του καναλιού
δεδομένων περιορίζεται από το μέγεθος της κοινόχρηστης μνήμης του συστήματος. Η
σχετική ρύθμιση βρίσκεται στο γνώρισμα shmmax στο
/etc/conf/master.d/core-hpux. Αν η τιμή του γνωρίσματος
dataChannelSize είναι μεγαλύτερη από το γνώρισμα shmmax που
ορίζεται στο /etc/conf/master.d/core-hpux, το κανάλι δεν θα δημιουργηθεί.
Αν δεν υπάρχει αυτό το αρχείο ή το γνώρισμα, η τιμή του θεωρείται ότι είναι 64 MB
(προεπιλογή).
Στο σύστημα AIX, το μέγιστο μέγεθος του καναλιού
δεδομένων περιορίζεται από το μέγιστο μέγεθος της κοινόχρηστης μνήμης του
συστήματος, το οποίο έχει καθοριστεί στα 256 MB. Αν η τιμή του γνωρίσματος
dataChannelSize είναι μεγαλύτερη από 256 MB, το κανάλι δεδομένων δεν θα
δημιουργηθεί.
Στο σύστημα z/OS, το μέγιστο μέγεθος του καναλιού
δεδομένων περιορίζεται από το μέγιστο μέγεθος τμήματος κοινόχρηστης μνήμης του
συστήματος. Η σχετική ρύθμιση βρίσκεται στην παράμετρο IPCSHMMPAGES στο μέλος MVS
BPXPRMxx parmlib. Η τιμή της παραμέτρου IPCSHMMPAGES ορίζεται σε χιλιάδες και
πρέπει να είναι τέσσερις χιλιάδες φορές μικρότερη από την τιμή για την κοινόχρηστη
μνήμη που θα οριστεί για το κανάλι δεδομένων. Για παράδειγμα, αν το γνώρισμα
dataChannelSize οριστεί στα 32M στο αρχείο serviceconfig.xml, η τιμή της
παραμέτρου IPCSHMMPAGES θα πρέπει να είναι πάνω από 8.192. Αν η τιμή του
γνωρίσματος dataChannelSize είναι πάνω από 4 χιλιάδες φορές μεγαλύτερη
από την τιμή της παραμέτρου IPCSHMMPAGES, η δημιουργία του καναλιού δεδομένων θα
αποτύχει.
Για να επιτρέψετε στον ελεγκτή ρουτινών να επικοινωνεί με ένα μεγάλο αριθμό ρουτινών ταυτόχρονα, πρέπει να ορίσετε την κατάλληλη τιμή στην παράμετρο IPCSHMNSEGS στο μέλος MVS BPXPRMxx parmlib. Η παράμετρος IPCSHMNSEGS καθορίζει το μέγιστο αριθμό των προσαρτημένων τμημάτων κοινόχρηστης μνήμης ή των καναλιών δεδομένων για κάθε χώρο διευθύνσεων. Η προεπιλεγμένη τιμή είναι 10. Η τιμή 50 θα επέτρεπε την ταυτόχρονη επικοινωνία του ελεγκτή ρουτινών με 50 ρουτίνες.
Σχετικές εργασίες
Εντοπισμός των αρχείων ρυθμίσεων
Διαχείριση του ελεγκτή ρουτινών